安装VS2010 Web Publishing Updates后无法加载WiX项目

时间:2012-06-20 08:40:11

标签: visual-studio-2010 msbuild wix publishing

我昨天安装了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”参数。验证该任务上是否存在该参数,它是一个可设置的公共实例属性。

我的旅程继续......

1 个答案:

答案 0 :(得分: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

我真的不确定其他程序和项目需要这个版本,或者为什么没有遵循导入路径但是这个项目对我来说似乎又回到了正确的版本。