System.IO.FileLoadException:“混合模式程序集是針對“v2.0.50727”版的運行時生成的,在沒有配置其他信息的情況下,無法在 4.0 運行時中加載該程序集。”


解決方案:

  在app.config新增如下配置節:

1 <?xml version="1.0"?>
2 <configuration>
3   <startup useLegacyV2RuntimeActivationPolicy="true">
4     <supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
5   </startup>
6 </configuration>
View Code

   在原來.NET2.0,.NET3.5的時候,由於程序運行環境本質還是.NET2.0,而到了.NET4.0由於整個程序集的版本更新,以前使用.NET2.0所編寫的程序集與.NET4.0的程序集繼續相互操作的時候就會出現上面所說的兼容性問題。

  startup配置節中的useLegacyV2RuntimeActivationPolicy屬性是在.NET4.0中新增的,默認是false,表示:

  使用默認的 .NET Framework 4 激活策略,該激活策略將加載 .NET Framework 4 通過使用公共語言運行時 (CLR) 版本 4 所創建的程序集,以及 CLR 早期版本通過使用受支持的低於版本 4 的最高 CLR 版本所創建的程序集。

  現在如果當程序在.NET4.0環境下要使用.NET2.0及.NET3.5的程序時就必須將useLegacyV2RuntimeActivationPolicy設置為true,同時還要注意,需要在startup配置節的字節中添加supportedRuntime配置節,並指定為“v4.0”,表示使用.NET4.0運行時來運行程序。


---------------------
原文:https://blog.csdn.net/bibi1314123/article/details/17428599


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM