编译器失败,错误代码为 -2146232576。

罪魁禍首是Microsoft.Net.Compilers包,用於在您的項目中支持現代C#語法/功能(版本6.0,7.0),特別是在Razor視圖中。根據其版本的不同,該軟件包需要在相關機器上安裝安裝的完整.NET框架的特定最低版本。

例如,2.2.0包需要.NET 4.6+。即使你的項目的目標是.NET 4.5.2,你可能在你的開發機器上安裝了最新的.NET,而且一切都很順利。遠程部署機器只安裝了.NET 4.5.2,當您的ASP.NET應用程序嘗試在運行時編譯資源(例如視圖)時,您會收到錯誤-2146232576

您的選擇:

  1. 如果您確實需要使用新望C#功能在您的項目 – 安裝最新的.NET Framework到遠程計算機。
  2. 如果您對僅提供更多或更少的現代C#功能感到滿意 – 將Microsoft.Net.Compilers軟件包降級爲僅需要您的遠程機器上的框架的版本。例如,版本1.3.2只需要.NET 4.5。
  3. 如果你並不需要在所有上述功能,只需從你的項目中刪除Microsoft.Net.CompilersMicrosoft.CodeDom.Providers.DotNetCompilerPlatform(羅斯林CodeDom中提供)封裝。

 

解决方案:

解決方法:

我面臨這個問題升級後一些NuGets並通過下面的步驟來解決。

步驟1:NuGet Package Console移除這些的NuGet包

步驟2:後:在Web.config

再发布就可以了。

参考链接

留下评论

电子邮件地址不会被公开。 必填项已用*标注