1

我昨天安装了 VS2010 网络发布更新,现在每当我尝试加载 WiX 设置项目(在解决方案资源管理器中都显示为已卸载)时,我都会收到错误消息:

未找到导入的项目“PROJECTNAME.wpp.targets”。确认声明中的路径正确,并且该文件存在于磁盘上。C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.targets

其中 PROJECTNAME 是我的设置 wixproj 文件的路径,没有 .wixproj 扩展名。我已经检查了项目文件,并且在任何地方都没有对 wpp.targets 文件的引用。我决定尝试在该位置创建一个空白目标文件,因此添加了一个包含以下内容的文件:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

但是得到了完全相同的错误 - 尽管文件在那里,但未找到异常!

然后我深入研究了 Microsoft.Web.Publishing.targets 文件并查看了任何“.wpp.targets”文本,这给了我这个:

<PropertyGroup Condition="'$(EnableWebPublishProfileFile)'=='true' And 
    '$(WebPublishProfileFile)' != '' And Exists($(WebPublishProfileFile)) ">
  <WebPublishProfileCustomizeTargetFile Condition="'$(WebPublishProfileCustomizeTargetFile)'==''">
    $([System.IO.Path]::ChangeExtension($(WebPublishProfileFile), '.wpp.targets'))
  </WebPublishProfileCustomizeTargetFile>
  ...

因此,这看起来是在设置 PROJECTNAME.wpp.targets 的文件名,但前提是 EnableWebPublishProfileFile 属性设置为 true。我将此添加到我的 wixproj 文件的主要属性组中:

<EnableWebPublishProfileFile>False</EnableWebPublishProfileFile>

但同样,它对错误没有任何影响。我现在没有想法了!

进一步更新

我一直试图在一个空白项目上回购这个(到目前为止没有成功),并且混乱已经将错误缩小到 Microsoft.Web.Publishing.targets 文件中的这一行(186):

<Import Project="$(WebPublishPipelineCustomizeTargetFile)" 
Condition="'$(WebPublishPipelineCustomizeTargetFile)' != ''"/>

这是在文件顶部设置的:

<WebPublishPipelineCustomizeTargetFile
    Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">
  $(WebPublishPipelineProjectDirectory)\*.wpp.targets
</WebPublishPipelineCustomizeTargetFile>

我不确定这是如何更改为 PROJECTNAME.wpp.targets 的?

我尝试在我的项目文件中覆盖它,但再一次,它根本没有区别。

接下来,我在目标文件的行中添加了一个 Exists() 条件,现在一些项目正在运行,而另一些则没有,而是失败(在构建时)并出现错误:

“ImportParametersFile”任务不支持“DisableEscapeMSBuildVariable”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。

我的旅程还在继续……

4

1 回答 1

2

我在尝试打开标准 Web 项目时遇到了同样的问题。

proj 文件引用了 v10.0 目标的以下导入,但在提到 v10.5 目标的问题中引发了导入错误。

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

当我引用硬编码路径时也是如此 - 我仍然收到 v10.5 错误

我的解决方案是简单地备份并删除位于以下位置的那个版本:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\10.5

我真的不确定哪些其他程序和项目需要这个版本,或者为什么不遵循导入路径,但它让这个项目对我开放,似乎回到了正确的版本。

于 2013-07-17T08:44:53.753 回答