c# - 网站项目上的 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”。
如何解决这个问题?
解决方案
尝试安装或重新安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform - reinstall
推荐阅读
- c++ - 通过 g++ 运行程序时没有这样的文件或目录
- pdf - 如果 toUnicode 部分损坏,如何从 PDF 中提取文本
- php - 如果值中有空格,PHP 会破坏数组值
- python - Python 2.7 将多个“if”语句的结果附加到单个列表中。仅在第一个 if 语句上正常工作
- python - 是否有允许我将值转换为 Dataframe 列的 Pandas 函数?
- android - 使用 Felgo Qt Creator 生成 android APK 的最简单/最快捷的方法是什么?
- mysql - MySQL 查询中的 SQL 错误:错误:'on 子句中的未知列'post_taxonomy_category'
- c++ - C++20 协程:需要一个使用 co_yield 的函数
- c# - Azure 云服务:System.Net.Http.Formatting.dll 请求旧的 Newtonsoft.Json.dll -> 角色初始化失败
- javascript - 如何让不和谐机器人加入语音频道?