Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SGEN(x86):告诉我。NET4.6是必需的_C#_Visual Studio 2015_Sgen - Fatal编程技术网

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

C# SGEN(x86):告诉我。NET4.6是必需的,c#,visual-studio-2015,sgen,C#,Visual Studio 2015,Sgen,我已经安装了Visual Studio 2015,正在尝试升级我们的(32位)VS2010项目。 当项目编译时,它会尝试从运行SGEN(Generate Serialization Assembly=on) 无论是从命令行还是在visual studio中,都会显示此窗口,并且没有为sgen提供命令行选项: 这是作为VS2015(版本)的一部分安装的.NET 4.6。我可以运行32位.Net 4.6程序集,因此它已安装 在.Net4.6安装上使用“修复”无法修复问题或报告任何问题。.NET x

我已经安装了Visual Studio 2015,正在尝试升级我们的(32位)VS2010项目。 当项目编译时,它会尝试从运行SGEN(Generate Serialization Assembly=on)

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

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

在.Net4.6安装上使用“修复”无法修复问题或报告任何问题。.NET x86和x64的注册表项看起来很可靠(版本相同)


登录

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


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

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

作为升级的一部分,我们的构建环境说明告诉我们向sgen添加一个.config文件,我们将其改编为.net 4.6:

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


删除此显式supportedRuntime标记修复了此问题

第二个错误是显而易见的-你不能在x86 dllYep上使用x64工具我知道,这是一个绝望的希望,他们在x64工具中填充了32位逻辑。如果你只运行sgen,你会得到什么?版本号是多少?在我的机器上是4.6.81。您可能需要修复您的安装C:\Program Files(x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6 Tools\sgen.exe没有版本号,运行它会生成一个模式对话框,告诉我安装.Net 4.6。但是我可以运行gacutil,Regasm,那么您的安装可能已损坏。
<configuration>
<runtime>
    <loadFromRemoteSources enabled="true" />
</runtime>
<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.6"/>
</startup>
</configuration>