网站项目上的Roslyn编译器错误。找不到CodeDom

时间:2018-10-10 06:24:57

标签: c# asp.net .net roslyn

我正在使用Visual Studio 2015,并将应用程序定位到.NET Framework 4.6.1。我正在构建一个Web站点项目,并且在同一解决方案中有几个类库。

我可以在类库中使用C#6功能(例如,空传播运算符?.,但在WebSite项目中不能使用),它将给出错误

  

c#5中没有功能'nullpropagating operator'。请使用语言版本6或更高版本。

为什么我可以在班级库中使用此功能,但不能在网站中使用?然后,我尝试通过“网站”菜单添加对C#6的支持,该菜单会将CodeDom和编译器下载到packages目录中,并将其链接到Web.config文件中。

enter image description here

我可以编译,并且可以在我的本地主机上正常运行,但是当我部署到测试服务器时,出现以下错误:

  

解析器错误消息:无法找到CodeDom提供程序类型“ Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,Microsoft.CodeDom.Providers.DotNetCompilerPlatform,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”。 / p>

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试安装或重新安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform - reinstall