部署时出现Microsoft.Net.Compilers包错误

时间:2018-02-21 21:23:15

标签: c# model-view-controller server packages roslyn

我有一个C#MVC项目,我曾经在我的项目中安装了1.0.0.0版的Microsoft.Net.Compilers。但我最近将它更新到最新版本2.6.1.0,因为我需要它来做一些新的代码。

当我将新代码部署到服务器时出现问题。我得到了这个奇怪的无益错误:

enter image description here

如果我从web.config中删除以下代码,网站将加载,但是某些包含我必须更新编译器的新代码的页面将会失效。

  <system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>

我在web.config中删除该部分时遇到的错误示例如下:

意外的角色&#39; $&#39;在做新的string.format

$"Hello {Model.WorldText}";

有谁知道如何解决此错误?

感谢。

1 个答案:

答案 0 :(得分:0)

我检查了服务器上的事件记录器,并报告了一个错误,指出我的应用程序中使用的功能需要在服务器上安装.NET 4.6。

我不得不做一些Windows更新,因为.NET 4.6更新上有阻止程序。一旦完成,我就可以安装.NET 4.6,并且该网站再次像魅力一样。