我有使用vs 2008在框架2上运行的c#asmx服务项目现在我已将其更新为使用vs 2010的框架4
当我在调试模式下构建dll时,它会成功编译,但是当我在发布模式下构建时,我会收到以下错误:
错误51 混合模式程序集是针对运行时的版本“v1.1.4322”构建的,如果没有其他配置信息,则无法在4.0运行时中加载。 C:\服务\ MycService \ SGEN
更新 好的,我将项目属性的框架更改为3.5,并在发布模式下构建正常,但框架4.0中的问题是什么。我需要它在框架4.0中工作
答案 0 :(得分:13)
我得到了它的工作 转到Project->右键 - >属性 - >构建 - >生成串行化程序集 将此处的“自动”更改为关闭 并在发布模式下构建它现在可以正常工作
答案 1 :(得分:1)
您的解决方案中是否有非托管代码,或者是否针对一个代码进行构建? 当我们开始使用VS2010和.net 4时,我们遇到了这样的问题 对我们有用的是将App.config文件添加到包含以下项目的项目中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
答案 2 :(得分:0)
您必须将其置于配置标记内,检查链接http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx,这也是之前链接答案中的链接。