混合模式程序集是针对“V2.050727”版本生成的,在没有配置信息情况下,无法子啊4.0运行时架子程序集。
我的做法是在文件中加如app.config,加入:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
参考原文:
Mixed mode assembly is built against version 'v2.0.50727' error using .NET 4 Development Web Server
If your application has a dependency on an assembly built in .NET 2 you will see the error below if you try to run your application when it has been built in.NET 4.
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
This can be important in VS2010 testing, as test projects must be built as .NET 4, there is no option to build with an older runtime. I suffered this problem when trying to do some development where I hosted a webpart that make calls into SharePoint (that was faked out with Typemock Isolator) inside a ASP.NET 4.0 test harness
The answer to this problem is well documented, you need to add the useLegacyV2RuntimeActivationPolicy attribute to a .CONFIG file, but which one? It is not the web.config file you might suspect, but the C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.exe.config file. The revised config file should read as follows (new bits in red)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup><runtime>
<generatePublisherEvidence enabled="false" />
</runtime>
</configuration>
Note: Don’t add the following <supportedRuntime version="v2.0.50727" /> this cause the web server to crash on start-up.
本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/archive/2011/05/14/2046449.html,如需转载请自行联系原作者