Mage.exe не создает совместимые фреймворки для 4.5

Я пытаюсь использовать mage.exe (расположенный в "C:\Program Files (x86)\Microsoft SDK\Windows\v8.1A\bin\NETFX 4.5.1 Tools\mage.exe") для создания файлов clickonce из приложения. ориентируясь на .Net 4.5. Exerything работает нормально, но в файле *.application есть раздел "compatibleFrameworks":

  <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
    <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
    <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
  </compatibleFrameworks>

Я не знаю, почему фреймворк установлен на 4.0. Я хотел бы получить, наконец, .Net 4.5 в сгенерированных файлах, поэтому что-то вроде этого:

<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
    <framework targetVersion="4.5" profile="Full" supportedRuntime="4.0.30319" />
  </compatibleFrameworks>

Что мне следует изменить? Почему merge.exe не устанавливает правильную версию в совместимой среде? Я не хочу изменять это вручную.


person user3896104    schedule 02.07.2015    source источник
comment
Вы ориентируетесь на полный фреймворк 4.5 в настройках вашего проекта?   -  person Vojtěch Dohnal    schedule 02.07.2015
comment
да. Целевая платформа в свойствах проекта установлена ​​на: .Net Framework 4.5. Если я запускаю публикацию из VS, сгенерированные файлы содержат правильную информацию о совместимой среде.   -  person user3896104    schedule 02.07.2015
comment
Странно, у меня C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\MAGE.exe генерирует это ОК...   -  person Vojtěch Dohnal    schedule 03.07.2015
comment
Как выглядит ваша команда?   -  person user3896104    schedule 14.07.2015


Ответы (1)


Версия совместимого фреймворка устанавливается по-разному в зависимости от используемой версии Mage. Я не знаю ни одной версии мага, которая установила бы целевую версию 4.5. Mage не является полным инструментом, и Microsoft рекомендует выполнять различные изменения вручную с помощью текстового редактора. Я использую Powershell для редактирования своих манифестов после их создания с помощью мага. Вероятно, вы могли бы вручную изменить атрибут targetVersion на 4.5, а затем повторно подписать манифест.

Маг 3.5.30729.1

C:\Program Files (x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.1 Tools\mage.exe

Нет совместимого элемента Frameworks в файле

Маг 4.0.30319.18020

C:\Program Files (x86)\Microsoft SDK\Windows\v8.0A\bin\NETFX 4.0 Tools\mage.exe

<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
  <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
  <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>

Маг 4.0.30319.33440

C:\Program Files (x86)\Microsoft SDK\Windows\v8.1A\bin\NETFX 4.5.1 Tools\mage.exe

<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
  <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
  <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>

Маг 4.6.81.0

C:\Program Files (x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6 Tools\mage.exe

<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
  <framework targetVersion="4.6" profile="Client" supportedRuntime="4.0.30319" />
  <framework targetVersion="4.6" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>

Маг 4.6.1055.0

C:\Program Files (x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.1 Tools\mage.exe

<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
  <framework targetVersion="4.6" profile="Client" supportedRuntime="4.0.30319" />
  <framework targetVersion="4.6" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
person Glen Thomas    schedule 22.02.2016