如何在 Visual Studio 2017 项目中启用 C# 7 的所有功能?
How can I enable all features of C# 7 in Visual Studio 2017 project?
在 Visual Studio 2017 发布后,我想尝试使用新的 C# 7 功能创建简单的控制台项目。我预计我只需下载新的 Visual Studio 2017,然后创建新的控制台项目并可以使用新的 C# 7 功能。但我不能。
如果我安装 NuGet package System.ValueTuple,我可以使用一些功能,例如元组。
但是对于其他功能,我不知道我需要做什么。例如 this NuGet issue。
我现在需要做所有这些肮脏的安装吗?或者我可以以更简单的方式启用 c# 7 功能?
对于您在问题的第二部分链接到的任意类似任务的类型,您需要包含 System.Threading.Tasks.Extensions
包。
您需要这些 NuGet 包的原因是因为新的语言功能依赖于添加到 .NET 框架中的新类型。 C#语言特性所依赖的新类型不会"built in to the framework"直到4.6.2之后发布的下一个小版本不破坏SemVer1。因此,除非您使用下一版本的框架构建项目,否则您将需要使用 NuGet 包来使这些功能正常工作。
This is no different than getting extension methods to work in a .NET 2.0 project。您可以使用扩展方法,但您需要使用 NuGet 包(或自己添加代码)来获取它所依赖的类型以添加到您的项目中。
1:所以 4.7 或 5.0,无论他们决定如何称呼它,如果有 4.6.3,它就不会出现在那个版本中,因为那不是次要发行版本,也就是一个补丁版本 bump,你不能在不违反语义版本控制的情况下对补丁版本 bump 进行 API 更改。
任何以 .NET 4.7 为目标的项目都可以使用 C# 7 元组而无需添加 Nuget 包。您必须手动安装它:
- 升级至 Windows 10 Creator's Update (10.0.15063),或在其他版本的 Windows 上安装 .NET Framework 4.7:https://www.microsoft.com/en-us/download/details.aspx?id=55170
- 从“开始”菜单中,运行
Visual Studio Installer
并单击“修改”。转到 "Individual components" 并检查以下两个组件:
- .NET Framework 4.7 SDK
- .NET Framework 4.7 目标包
它不能在 Windows 10 Creator's Update 上开箱即用,因为 Microsoft 从“.NET 桌面环境”工作负载中省略了 .NET 4.7 组件。我提交了一个错误,但他们将其关闭为不是错误:
Vs2017 update 3可以支持c#7.1,但默认配置为支持c#7.0。
您可以修改项目的设置和select c# 7.1
了解更多详情how to configure vs2017.3 to support last version of c#7.1
在 Visual Studio 2017 发布后,我想尝试使用新的 C# 7 功能创建简单的控制台项目。我预计我只需下载新的 Visual Studio 2017,然后创建新的控制台项目并可以使用新的 C# 7 功能。但我不能。
如果我安装 NuGet package System.ValueTuple,我可以使用一些功能,例如元组。
但是对于其他功能,我不知道我需要做什么。例如 this NuGet issue。
我现在需要做所有这些肮脏的安装吗?或者我可以以更简单的方式启用 c# 7 功能?
对于您在问题的第二部分链接到的任意类似任务的类型,您需要包含 System.Threading.Tasks.Extensions
包。
您需要这些 NuGet 包的原因是因为新的语言功能依赖于添加到 .NET 框架中的新类型。 C#语言特性所依赖的新类型不会"built in to the framework"直到4.6.2之后发布的下一个小版本不破坏SemVer1。因此,除非您使用下一版本的框架构建项目,否则您将需要使用 NuGet 包来使这些功能正常工作。
This is no different than getting extension methods to work in a .NET 2.0 project。您可以使用扩展方法,但您需要使用 NuGet 包(或自己添加代码)来获取它所依赖的类型以添加到您的项目中。
1:所以 4.7 或 5.0,无论他们决定如何称呼它,如果有 4.6.3,它就不会出现在那个版本中,因为那不是次要发行版本,也就是一个补丁版本 bump,你不能在不违反语义版本控制的情况下对补丁版本 bump 进行 API 更改。
任何以 .NET 4.7 为目标的项目都可以使用 C# 7 元组而无需添加 Nuget 包。您必须手动安装它:
- 升级至 Windows 10 Creator's Update (10.0.15063),或在其他版本的 Windows 上安装 .NET Framework 4.7:https://www.microsoft.com/en-us/download/details.aspx?id=55170
- 从“开始”菜单中,运行
Visual Studio Installer
并单击“修改”。转到 "Individual components" 并检查以下两个组件:- .NET Framework 4.7 SDK
- .NET Framework 4.7 目标包
它不能在 Windows 10 Creator's Update 上开箱即用,因为 Microsoft 从“.NET 桌面环境”工作负载中省略了 .NET 4.7 组件。我提交了一个错误,但他们将其关闭为不是错误:
Vs2017 update 3可以支持c#7.1,但默认配置为支持c#7.0。
您可以修改项目的设置和select c# 7.1
了解更多详情how to configure vs2017.3 to support last version of c#7.1