【问题标题】:Why does Mage.exe not generate a compatibleFrameworks attribute?为什么 Mage.exe 不生成 compatibleFrameworks 属性?
【发布时间】:2010-04-16 15:47:17
【问题描述】:

我们使用Mage.exe 来生成应用程序的清单,作为我们构建过程的一部分。升级到 .NET 4 后,我们现在发现它会生成无效的清单。

原因是我们在每次构建时生成的应用程序清单中没有设置 compatibleFrameworks 属性。

有没有办法让 Mage.exe 添加这个元素,或者我们应该只更新现有的清单?

【问题讨论】:

  • 你有没有解决这个问题?!?!?!?!?!?!
  • 我也需要解决这个问题。

标签: .net-4.0 clickonce mage


【解决方案1】:

为 .NET 4.0 构建了一个单独的 mage.exe 副本。尝试使用来自C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools(或...\v7.1\Bin\NETFX 4.0 Tools,具体取决于您安装的SDK 版本)的这个副本。

我实际上遇到了同样的问题,并使用来自NETFX 4.0 Toolsmage.exe 为我解决了这个问题。

【讨论】:

  • 只是为了确认确实有一个 .Net 4 特定的 mage.exe(版本 4.0.30319.1)。以前的版本是 3.5.30729.1,将那个版本用于 .Net 4 应用程序会导致我报告错误。
  • 如果您已经尝试过 mage / mageUI 的“所有版本”并且没有成功(就像我所做的那样),那么您可能想要查看从代码中调用 MSBuild 任务,正如提到的 in this answer
【解决方案2】:

将此添加到您的 GenerateDeploymentManifest MSBuild 任务中

   TargetFrameworkMoniker=".NETFramework,Version=v4.0"        

这应该可以解决它

【讨论】:

  • 错误 MSB4064:“GenerateDeploymentManifest”任务不支持“TargetFrameworkMoniker”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。
  • 如果您收到错误 4064,您需要更改 确保 ToolsVersion 从 3.5 更新到 4.0
猜你喜欢
  • 1970-01-01
  • 2011-10-20
  • 1970-01-01
  • 2012-08-15
  • 1970-01-01
  • 1970-01-01
  • 2011-05-03
  • 2017-10-12
  • 2017-05-27
相关资源
最近更新 更多