【发布时间】: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 功能。