混合模式程序集是根据运行时的版本"v2.0.50727"构建的

Chr*_*ong 158 .net ado.net .net-4.0 visual-studio-2010 crystal-reports

我收到以下异常:

混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.

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

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

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
  <NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
Run Code Online (Sandbox Code Playgroud)

任何专家都可以帮忙????

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

Tal*_*lha 231

尝试在配置节点下的app.config中使用此确切的启动标记

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <requiredRuntime version="v4.0.20506" />
  </startup>
Run Code Online (Sandbox Code Playgroud)

  • 唯一需要的部分是useLegacyV2RuntimeActivationPolicy ="true".您可以保留当前的框架版本. (63认同)
  • 那是app.config.编译器将在构建时重命名它. (24认同)
  • Ben说,我可以加倍,我遗漏了额外的必需运行时间,我的问题就消失了. (3认同)
  • 实际上你应该向YourApp添加棘手的线条.**exe**.config. (2认同)
  • 此链接还应帮助您了解问题所在以及解决方案对您有何帮助:http://msdn.microsoft.com/en-us/magazine/ee819091.aspx (2认同)

Bib*_*yay 81

该例外明确指出.NET 4.0中包含一些.NET 2.0.50727组件.在App.config文件中使用此:

<startup useLegacyV2RuntimeActivationPolicy="true" /> 
Run Code Online (Sandbox Code Playgroud)

它解决了我的问题


Bri*_*thi 6

请在应用程序app.config文件中添加属性useLegacyV2RuntimeActivationPolicy =“ true”。

旧值

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
Run Code Online (Sandbox Code Playgroud)

新价值

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>
Run Code Online (Sandbox Code Playgroud)

它将解决您的问题。