【问题标题】:Unresolved reference to symbol 'Property:NETFRAMEWORK45' in section 'Product:*'未解决在“产品:*”部分中对符号“属性:NETFRAMEWORK45”的引用
【发布时间】:2014-12-11 17:10:10
【问题描述】:

在 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>

【问题讨论】:

  • 消息再清楚不过了 :) 你在构建机器上安装了 .NET 4.5 吗?
  • 它在构建机器上。它不是在寻找构建机器的框架。它正在尝试构建 msi,并说属性 NETFRAMEWORK45 在 Wix 安装程序中无效,而该属性自 wix 3.6 以来一直存在。如果我删除该检查,则 msi 构建良好,并且该条件仅在我正在安装的机器上发挥作用
  • 我们遇到了类似的问题,尽管我们使用的属性是 WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED。原来我们在构建服务器上安装了 WiX 3.9,而在开发机器上安装了 3.10。升级到 WiX 3.10 有所帮助。似乎该属性在以前的版本中没有解析。
  • 我遇到了这个问题,拥有所有必需的元素。正在使用构建脚本中的 msbuild 进行构建。直到我从 Visual Studio 中对 Wix 项目进行手动构建,构建成功,然后构建脚本工作之后才工作??
  • @bigfoot:你应该让你的评论成为答案!它也适用于与github.com/wixtoolset/issues/issues/5575 的 WIXNETFX4RELEASEINSTALLED 相关的我!

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


【解决方案1】:

您必须在项目中包含 WixNetFxExtension,最多 3 个位置

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

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

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

【讨论】:

  • 即使正确添加了wix扩展,仍然出现错误时该怎么办?
  • 不知道,抱歉。这为我修好了。回溯并确保您没有错过任何步骤?
【解决方案2】:

根据 Florian Straub 对我的评论的建议,除了对原始帖子的评论之外,我还添加了我的评论作为对帖子的回答。

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

【讨论】:

  • 我对 WIXNETFX4RELEASEINSTALLED 也有同样的体验
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多