我昨天安装了VS2010 Web发布更新,现在每当我尝试加载一个WiX安装项目(全部显示为在解决方案资源管理器中卸载)时,出现错误:安装VS2010 Web发布更新后无法加载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文件的主要的PropertyGroup:
<EnableWebPublishProfileFile>False</EnableWebPublishProfileFile>
再次,虽然,它并没有区别在所有的错误。我现在在这里想法不多了!
进一步更新
我一直在试图回购这对一个空白的项目(到目前为止没有成功),以及约缩小了误差降低到这一行(186)在微软搞乱。 Web.Publishing.targets文件:
<Import Project="$(WebPublishPipelineCustomizeTargetFile)"
Condition="'$(WebPublishPipelineCustomizeTargetFile)' != ''"/>
这是设置在文件的顶部:
<WebPublishPipelineCustomizeTargetFile
Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">
$(WebPublishPipelineProjectDirectory)\*.wpp.targets
</WebPublishPipelineCustomizeTargetFile>
我不知道这是怎么回事虽然变成PROJECTNAME.wpp.targets?
我试着在我的项目文件中覆盖这个,但再一次,它没有任何区别。
接下来,我加入一个EXISTS()条件,在目标文件中的行,现在一些项目正在和其他人都没有,而不会显示失败(上构建)与错误:
的“DisableEscapeMSBuildVariable”参数不受“ImportParametersFile”任务支持。验证任务中是否存在参数,它是一个可设置的公共实例属性。
我的旅程还在继续......
我无法重现这一点,有人可以提供一些步骤repro? –