首页 > 解决方案 > .Net Framework 4.8 for asp.net 中是否包含 C# 7.3 编译器?

问题描述

我很困惑。几年前我Microsoft.CodeDom.Providers.DotNetCompilerPlatform从 Github 安装: Microsoft.CodeDom.Providers.DotNetCompilerPlatform

现在我可以C# compiler在我的 Asp.Net 站点中获得最新的,独立于 .Net Framework 版本,只需在部署到生产服务器时包含该包即可。

然而,今年夏天情况发生了变化。如果我理解正确的话,.Net Framework 4.8 版现在默认使用 C# 7.3。

我的问题是:这也适用于 Asp.net 吗?还是我还需要将编译器从 Github 部署到我的 Web 服务器?

.Net Framework 4.8 中是否包含 C# 7.3 编译器?

标签: c#asp.netc#-7.3.net-4.8

解决方案


评论有误!

尽管我安装了 .Net 4.8,但 Asp.Net 网站仍然使用 C# 7.0 编译器!

我借此机会在我的一个网站(有问题的链接)上从 Github 上卸载了“Roslyn”编译器。现在我在编译时遇到了很多错误。

错误示例(这是一个属性):

public bool IsReusable => false;

这在 C# 7.0 中不起作用。所以我必须'Roslyn'在我的网站上保留编译器才能获得 C# 7.3

更新:

对于刚刚从 Github 安装“Roslyn”编译器的任何人:您必须langversion在 Web.config 中手动设置,如下所示:

  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:7.3 /nowarn:1659;1699;1701" />

现在 asp.net 将使用 C# 7.3 编译器。


推荐阅读