混合模式程序集是针对运行时版本“v2.0.50727”构build的

我收到以下exception:

混合模式程序集是针对运行时版本“v2.0.50727”构build的,不能在没有附加configuration信息的情况下在4.0运行时加载。

因为我试图从我的WPF程序中导出水晶报告…

我已经在app.config中添加了以下内容…

<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <runtime> <NetFx40_LegacySecurityPolicy enabled="true"/> </runtime> 

任何专家可以帮助?

参考我发现: http : //www.davidmoore.info/2010/12/17/running-net-2-runtime-applications-under-the-net-4-runtime

尝试在configuration节点下的app.config中使用这个确切的启动标记

 <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> <requiredRuntime version="v4.0.20506" /> </startup> 

exception清楚地标识了.NET 4.0中包含的一些.NET 2.0.50727组件。 在App.config文件中使用这个:

 <startup useLegacyV2RuntimeActivationPolicy="true" /> 

它解决了我的问题

我实际上有这个相反的解决scheme相同的问题。 我已经将.NET项目升级到.NET 4.0,然后恢复到.NET 3.5。 我的项目中的app.config继续有以下导致上述错误的问题:

 <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> 

解决此错误的解决scheme是将其恢复为正确的2.0参考,如下所示:

 <startup> <supportedRuntime version="v2.0.50727"/> </startup> 

因此,如果降级导致上述错误,则可能需要备份支持.NET Framework的版本。

尝试使用另一个configuration文件(不是来自您的项目)和RESTART Visual Studio:

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.executionengine.x86.exe.config(32位)

要么

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.executionengine.exe.config(64位)

对我来说,这是在MSTest (VS2015)下运行unit testing时抛出的。 不得不补充

 <startup useLegacyV2RuntimeActivationPolicy="true"> </startup> 

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\TE.ProcessHost.Managed.exe.config

混合模式组装MSTest在VS2015中失败