Неразрешенная ссылка на символ "Свойство: NETFRAMEWORK45" в разделе "Продукт: *"

Я получаю сообщение об ошибке при создании приложения в 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>

Ответ 1

Вы должны включить WixNetFxExtension в свой проект, в трех местах

  • в элементе Wix вашего файла wxs добавьте пространство имен xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"

  • Добавьте ссылку на WixNetFxExtension.dll в своем проекте

  • Если вы строите вручную с помощью light.exe, вам также нужно добавить -ext WixNetFxExtension в свою командную строку

Ответ 2

В соответствии с предложением Флориана Штрауба к моему комментарию, я добавил свой комментарий в качестве ответа к сообщению, в дополнение к комментарию к исходному сообщению.

У нас была похожая проблема, хотя мы использовали свойство WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED. Оказалось, что у нас на сервере сборки установлен WiX 3.9, а на машинах разработки - 3.10. Помогло обновление до WiX 3.10. Кажется, свойство не разрешено в предыдущих версиях