在哪个 .Net Framework 版本 C# 7.2 可用

Posted

技术标签:

【中文标题】在哪个 .Net Framework 版本 C# 7.2 可用【英文标题】:In Which .Net Framework Version C# 7.2 is Available 【发布时间】:2018-12-11 19:11:24 【问题描述】:

我尝试安装 .net framework 4.7.2,但项目属性中的目标框架仍然为空。我尝试运行的程序使用 readonly struct,它是 C# 7.2 的一部分。

能否请您指导我.Net Framework 版本有C# 7.2

【问题讨论】:

您使用的是什么(确切)版本的 Visual Studio? 我使用的是 Visual Studio 2017 (15.3.2) Where is c# 7.2 in visual studio project settings?的可能重复 【参考方案1】:

语言功能独立于 .Net 版本(框架/核心/标准)。

您需要使用能够理解新语言功能的编译器。假设您使用的是 Visual Studio 2017,您应该更新到最新版本。

【讨论】:

我已经完全更新了 VS 2017,但 C# 7.2 不被视为默认目标语言。 @Joe Sewell 的答案是正确的。 这个答案是正确的。题问c#7.2需要的.net框架版本。但实际上 c#7.2 不需要任何框架版本。只要您拥有新功能所需的库(通过源代码或 nuget),您甚至可以使用 4.5 运行时进行编译。标题的答案与视觉工作室无关。【参考方案2】:

默认情况下,Visual Studio 中的 C# 项目使用该语言的最新主要版本(在撰写本文时为 7.0)。要更改此设置,请打开项目的属性,选择 Build 页面,单击 Advanced...,然后在 General 下设置 Langauge版本到“C# 7.2”。

根据 phuzi 提到 this question 的评论,您可能需要更新到最新的 Visual Studio 才能看到此选项。

【讨论】:

在VS 2019中试过这个,选项灰显,默认为“根据框架版本自动选择”。有帮助参考:docs.microsoft.com/en-us/dotnet/csharp/language-reference/… 更多关于为什么不能通过 UI 更改版本的信息。

以上是关于在哪个 .Net Framework 版本 C# 7.2 可用的主要内容,如果未能解决你的问题,请参考以下文章

(63)C#里.net Framework的版本

(63)C#里.net Framework的版本

我在VS2017里面用C#在.net framework上编写了一个dll,我想编译,怎么解决?

.Net Framework 4.x 程序到底运行在哪个 CLR 版本之上

我在VS2017里面用C#在.net framework上编写了一个dll,我想编译,怎么解决?

C# 利用.NET 升级助手将.NET Framework项目升级为.NET 6