【IIS】編譯器失敗,錯誤代碼為 -2146232576


把新寫的 ASP.NET MVC 代碼發布到 阿里雲虛擬機后,報如下錯誤:

編譯器失敗,錯誤代碼為 -2146232576

參考了 iis 錯誤 -2146232576 和 asp.net mvc5本機調試正常,發布到服務器上提示編譯錯誤,編譯器失敗錯誤代碼未-2146232576 ,都是通過升級 .NET Framework 到 4.6 解決的,但是阿里雲的共享雲虛擬主機經過我的測試,最高支持到 4.5.1

不能升級 .NET Framework,那就只能使用低版本的包了。根據 iis 錯誤 -2146232576 中的說法,是由於 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll 導致的。但其實該包從 1.0.4 ~ 1.0.8 都是同時支持 .NET Framework 4.5 和 .NET Framework 4.6 的。

  • .NET Framework 4.5 時 Microsoft.Net.Compilers (>= 1.3.2)
  • .NET Framework 4.6 時 Microsoft.Net.Compilers (>= 2.4.0)

最新的 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 2.0.0 倒是沒有任何依賴項,但是升級到 2.0.0 並且刪除 Microsoft.Net.Compilers 包后再發布,會報一個需要 Microsoft.Net.Compilers 包的錯誤。

重新安裝了 Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.8 版, 同時自動安裝了依賴的最低版本 Microsoft.Net.Compilers 1.3.2。再次發布到雲虛擬主機,就能正常訪問了。


免責聲明!

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



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