我可以将 C# 7.3 与 .Net Framework 4.6.1 一起使用吗?

Posted

技术标签:

【中文标题】我可以将 C# 7.3 与 .Net Framework 4.6.1 一起使用吗?【英文标题】:Can I use C# 7.3 with .Net Framework 4.6.1? 【发布时间】:2018-09-20 08:39:33 【问题描述】:

我对 enum 通用约束感兴趣,但是当我在 Build → Advanced 上切换项目的语言版本时,我仍然收到错误 «在 C# 中不可用5个;即使在重新打开项目后,请使用 7.3 或更高版本的语言»。 项目类型是 ASP.NET MVC 应用程序。

【问题讨论】:

答案是肯定的,但是你的编译器版本必须支持c#7。您使用的是什么编译器版本/vs 版本? 这取决于您的 C# 编译器版本,而不是您的 .NET 版本 如何找到当前编译器的版本并安装需要的? 安装了 CompilersCodeDom.DotNetPlatform,然后在 web.config 中将 system.codedom → compilers → compiler language="c#;cs;csharp" 属性 langversion 更改为 7.3 并且一切正常。 @TrolltheLegacy 请将其发布为您自己问题的答案。 【参考方案1】:

我已经从 Nuget 安装了 Microsoft.Net.CompilersMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 包,然后在 web.config 中将 system.codedom → compilers → compiler language="c#;cs;csharp" 属性 langversion 更改为 7.3,重新加载项目并且一切正常。

【讨论】:

不适合我,已经将Microsoft.Net.CompilersMicrosoft.CodeDom.Providers.DotNetCompilerPlatform 更新到了最新版本v3.6.0langversion 已正确设置为 7.3,但仍无法构建项目。

以上是关于我可以将 C# 7.3 与 .Net Framework 4.6.1 一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

异步流在 xamarin (C# 7.3) 中不可用

哪个 C# 编译器版本可以使用 CSharpCodeProvider 类编译 C# 7.3?

c# .net listview 与分组

为 ASP.NET 网站编写可重用的 c# 代码

无法将 c# .Net Core 3.0 与 directx 9.0 依赖项链接

C#在Linux+Mono环境中使用微信支付证书