尚未解析的符号'属性:NETFRAMEWORK45'在部分'产品:*'

时间:2014-12-11 17:10:11

标签: c# tfs wix .net-4.5 wix3.9

在TFS 2010中构建应用时遇到错误。未解析的符号引用'属性:NETFRAMEWORK45'在部分'产品:*'。这是为Wix 3.9

Wix包引用了NetFxExtension。我可以很好地在我的本地机器上构建wix,但是当我通过TFS构建它时,我得到了错误。任何人都可以帮我解决这个问题吗?我有以下代码导致错误。

<PropertyRef Id="NETFRAMEWORK45"/>
<Condition Message="This application requires .NET Framework 4.5. Please install the .NET Framework 4.5 then run this installer again.">
  <![CDATA[Installed OR NETFRAMEWORK45]]>
</Condition>

2 个答案:

答案 0 :(得分:15)

您必须在项目中包含WixNetFxExtension,最多可包含3个地方

  1. 在wxs文件的Wix元素中,添加命名空间 xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"

  2. 在项目中添加对WixNetFxExtension.dll的引用

  3. 如果您使用light.exe手动构建,则还需要将-ext WixNetFxExtension添加到命令行

答案 1 :(得分:1)

正如弗洛里安·斯特劳布(Florian Straub)在我的评论中所建议的那样,除了对原始帖子的评论之外,我还添加了我的评论作为帖子的答案。

我们有一个类似的问题,尽管我们使用的属性是WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED。原来,我们在构建服务器上安装了WiX 3.9,而在开发计算机上安装了3.10。升级到WiX 3.10有所帮助。似乎该属性在以前的版本中未解析