2015-09-07 23 views
1

我用小aplication,它在Windows 8.1罰款,我升級後運行的應用程序窗口10後,我得到未處理的異常混合模式組件構建,升級到Windows後10

System.IO.FileLoadException: 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. 

我能做些什麼用它,不用重新編譯?我不再有源代碼。也許編輯MSIL,SetUp舊運行時......?

感謝您的幫助

+0

嗯,沒有,這並沒有改變。您需要創建[.config文件](http://stackoverflow.com/a/5883258/17034)。 –

回答

1

你不應該需要重新編譯應用程序。只要將yourapp.exe.config添加到同一個文件夾中即可:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /> 
    </startup> 
</configuration> 

或添加到現有配置中。

如果不工作,你沒有源代碼,你可以通過

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools>ildasm.exe D:\Temp\yourapp.exe /output:D:\Temp\yourapp\yourapp.il 

修復運行時版本IL編譯應用IL代碼,然後編譯它

C:\Windows\Microsoft.NET\Framework\v4.0.30319>ilasm.exe D:\Temp\yourapp\yourapp.il /output:D:\Temp\yourappPatch.exe 
0

的主要問題是有關Windows 8.x中仍然接受.Net框架2.0的兼容性(ASP的目的,我猜)但Windows 10拒絕它。

我想你不會有任何解決方案,除非你必須重新編譯你的應用程序添加參考庫,並設置將其放入您的應用程序文件夾。

相關問題