fiddler運行報錯:Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute'


運行fiddler,報錯,如下圖

原因: In .Net 4.5 the ExtensionAttribute class was moved from System.Core to mscorlib.ExtensionAttribute 類在4.5中從System.Core遷移到mscorlib中,項目運行時會按4.5的方法尋找導致異常。
有人會說,項目都是按4.0編譯的,4.5也卸載了,為什么還會出現此問題?原因在於引用的第三方類庫可能還是關聯的4.5版本,比如我遇到這個問題是由於Entityframework引用了4.5版本導致的,而4.0和4.5從dll屬性中看不出來
解釋:System.Runtime.CompilerServices.ExtensionAttribute 在 .net 4.0里 在 System.Core.Dll里, 在 .net 4.5里則被移到了 mscorlib 中。
System.Core.Dll的版本顯示的 4.0.0.0 版,但實際上已經被 .net 4.5替換,里面沒有ExtensionAttribute 類。
未替換的版本在目錄“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0”下,用Reflector可以看到,里面有ExtensionAttribute類。
解決的方法:

解決方法: 在用戶的機器上安裝 .net 4.5。 對OS的要求是:

Windows 7 SP1(x86 和 x64)
Windows Server 2008 R2 SP1 (x64)
Windows Server 2008 SP2(x86 和 x64)


免責聲明!

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



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