繁体   English   中英

如何在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包System.ValueTuple ,我可以使用一些功能,如元组。

但对于其他功能,我不知道我需要做什么。 例如这个NuGet问题

我现在需要做所有这些脏安装吗? 或者我可以用更简单的方式启用c#7功能?

对于您在问题的第二部分链接的任意类任务类型,您需要包含System.Threading.Tasks.Extensions包。

您需要这些NuGet包的原因是因为新的语言功能依赖于添加到.NET框架的新类型。 C#语言功能所依赖的新类型将不会“内置到框架中”,直到4.6.2之后发布的下一个次要版本不会破坏SemVer 1 因此,除非您使用下一版本的框架构建项目,否则您将需要使用NuGet包来使功能正常工作。

这与使扩展方法在.NET 2.0项目中工作没有什么不同 您可以使用扩展方法,但需要使用NuGet包(或自己添加代码)以获取它所依赖的类型以添加​​到项目中。


1:所以4.7或5.0,无论他们决定调用它,如果有一个4.6.3它将不会在那个版本中,因为那不是一个小版本的版本凹凸,这是一个补丁版本凹凸而你无法制作修补程序版本中的API更改不会违反语义版本控制。

任何针对.NET 4.7的项目都可以在不添加Nuget包的情况下使用C#7元组。 你必须手动安装它:

  1. 升级到Windows 10 Creator的更新(10.0.15063),或在其他版本的Windows上安装.NET Framework 4.7: https//www.microsoft.com/en-us/download/details.aspx? id = 55170
  2. 从“开始”菜单中,运行Visual Studio Installer ,然后单击“修改”。 转到“单个组件”并检查以下两个组件:
    • .NET Framework 4.7 SDK
    • .NET Framework 4.7定位包

它在Windows 10 Creator的更新中不起作用,因为Microsoft从“.NET桌面环境”工作负载中省略了.NET 4.7组件。 我提交了一个错误,但他们将其关闭为非错误:

Vs2017 update 3可以支持c#7.1,但默认配置为支持c#7.0。

您可以修改项目的设置并选择c#7.1

有关如何配置vs2017.3以支持最新版本的c#7.1的更多详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM