【问题标题】:Roslyn Compiler Error on Website project. CodeDom could not be located网站项目上的 Roslyn 编译器错误。找不到 CodeDom
【发布时间】:2019-03-14 23:46:21
【问题描述】:

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

我可以在类库中使用 C# 6 特性(例如空传播运算符?.,但不能在 WebSite 项目中使用),它会报错

功能“空传播运算符”在 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”。

如何解决?

【问题讨论】:

  • 以下话题可能与您的问题有关:stackoverflow.com/questions/33319675/…
  • 最受好评的答案是删除Web.config 中对CodeDom 的引用。但如果我删除它,我就无法在网站中使用 C#6 功能。

标签: c# asp.net .net roslyn


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多