在哪个 .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 可用的主要内容,如果未能解决你的问题,请参考以下文章
我在VS2017里面用C#在.net framework上编写了一个dll,我想编译,怎么解决?
.Net Framework 4.x 程序到底运行在哪个 CLR 版本之上