SGEN(x86):告诉我.NET4.6是必需的

时间:2015-07-28 14:58:11

标签: c# visual-studio-2015 sgen

我已经安装了Visual Studio 2015,并尝试升级我们的(32位)VS2010项目。 当项目编译时,它会尝试从

运行SGEN(Generate Serialization Assembly = on)
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\sgen.exe

无论是从命令行还是在visual studio中,都会出现此窗口,并且没有为sgen显示命令行选项:

enter image description here

这是作为VS2015(发行版)的一部分安装的.NET 4.6。我可以运行32位.Net 4.6程序集,因此已经安装。

使用'修复'在.Net4.6安装上没有解决问题或报告任何问题。 .NET x86和x64的注册表项似乎是合理的(并且版本相同)。

登录Microsoft Connect

2 个答案:

答案 0 :(得分:0)

事实证明这完全是我们的错。

作为升级的一部分,我们的构建环境说明告诉我们将.config文件添加到我们适用于.net 4.6的sgen:

<configuration>
<runtime>
    <loadFromRemoteSources enabled="true" />
</runtime>
<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.6"/>
</startup>
</configuration>

删除此显式的supportedRuntime标记可解决此问题。

答案 1 :(得分:-1)

解决方法是将构建目标步骤指向

C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1工具