这里有点奇怪的人。
我们有一个相当复杂的(111个项目分布在asp.net,silverlight,WFC,Ria Services等)解决方案,它在我的开发箱(2010)上正确构建。如果我在构建机器上启动VS,我也可以正确构建解决方案。但是,当我对构建进行排队时,它几乎完成,直到它尝试运行SGen - 此时我得到旧的“混合模式程序集是针对运行时的版本'v2.0.50727'构建的,无法加载到4.0运行时没有其他配置信息。“栗。
我已经用谷歌搜索试图找到一个解决方案,但似乎没有任何工作 - 错误发生在complile time而不是运行时,我已经将v2激活密钥添加到Team build host的配置文件中影响。解决方案中没有可能导致事物被加载的测试。
有什么想法吗?任何人?特别困惑的是,VS可以在服务器上构建好,但团队构建失败。
答案 0 :(得分:18)
以下技巧对我有用(ref.)
编辑(或创建,如果它不存在) sgen.exe.config ,它应位于:
C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\
或在x64操作系统上:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\
然后添加:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
据我了解,在项目的app.config
中添加相同的代码段可能还不够,因为 sgen 工具无法读取它:(