首页 > 解决方案 > 网站项目上的 Roslyn 编译器错误。找不到 CodeDom

问题描述

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

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

c# 5 中不提供“空传播运算符”功能。请使用语言版本 6 或更高版本。

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

在此处输入图像描述

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

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

如何解决这个问题?

标签: c#asp.net.netroslyn

解决方案


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

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

推荐阅读