当前位置: 首页 > 知识库问答 >
问题:

如何在 Visual Studio 2017 项目中启用 C# 7 的所有功能?

堵才哲
2023-03-14

Visual Studio 2017发布后,我想尝试使用新的C# 7功能创建简单的控制台项目。我希望我只需下载新的Visual Studio 2017,然后创建新的控制台项目,就可以使用新的C# 7功能。但我不能。

如果我安装NuGet包System.ValueTuple,我可以使用一些特性,比如Tuples。

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

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

共有3个答案

郭元明
2023-03-14

Vs2017 更新 3 可以支持 c#7.1,但默认情况下配置为支持 c#7.0。

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

有关如何配置vs2017.3以支持最新版本的c7.1的详细信息

贲招
2023-03-14

任何以. NET 4.7为目标的项目都可以使用C#7元组,而无需添加Nuget包。您必须手动安装它:

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

    它在Windows 10 Creator的更新中无法开箱即用,因为Microsoft从“.NET桌面环境”工作负载中省略了.NET 4.7组件。我提交了一个bug,但他们将其关闭为Not a bug:

      < Li > https://developer community . visual studio . com/content/problem/41930/vs-2017-does-not-install-net-47-SDK-and-targeting . html

韩阳云
2023-03-14

对于你在问题的第二部分中链接到的任意任务类型,你需要包括< code >系统。threading . tasks . extensions 包。

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

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

1:所以 4.7 或 5.0,无论他们决定怎么称呼它,如果有 4.6.3,它就不会在该版本中,因为这不是次要的发布版本碰撞,这是一个补丁版本碰撞,你不能在不违反语义版本控制的情况下在补丁版本碰撞中进行 API 更改。

 类似资料:
  • 如何通过 C# 代码输出应用程序正在使用的 C# 版本(无论是 MVC 应用、网站还是控制台应用)。 我花了很长时间搜索这个——我就是在谷歌上找不到任何东西——太奇怪了。 我搜索了:“代码中输出C#版本”“如何获取当前应用的C#版本”等等很多。 这可能吗? 我希望它输出类似“C#版本7”或“5”等内容。

  • android{…我正在尝试在我的项目中启用ViewBinding,该项目使用Kotlin Gradle DSL。所有示例都展示了如何使用Groovy DSL实现它。 但是这个解决方案不适用于Kotlin DSL。我尝试这样的解决方案: 但它也不起作用。有趣的是,这种方法适用于数据绑定。

  • 我在解决方案中有几个项目,C# 7 功能(如元组和抛出表达式)在所有库项目中都能正常工作,但有一个(非核心)Web 项目由于 C# 7 功能上的错误而无法编译。编译后,错误窗口会迅速自行清除,大概是因为 IDE/编辑器编译相同的单元而没有错误。我必须使用输出窗口来查看编译器错误。就好像 IDE/编辑器假定为 C# 7,但构建中使用的编译器则不是。 我尝试在条件编译符号中添加“”,但没有成功。我尝试

  • 问题内容: 我是python的新手。最近,我有一个用python编写的项目,需要进行一些安装。我运行以下命令进行安装,但出现错误。 我在Google上搜索并找到了此链接,但我不太了解该帖子中的解决方案。 以下是我的requirements.txt文件: 有没有简单的方法来在此python项目中安装所有必需的依赖项? 编辑1 以下是的输出。 我已经安装了,但是pip命令仍然报告缺少此依赖项。 问题答

  • 问题内容: 该命令仅覆盖一个目录中的文件。 我想要整个项目,这意味着测试应覆盖dir中的所有文件以及该dir下的所有千岁树dir 。 这样做的命令是什么? 问题答案: 这应该在当前目录及其所有子目录中运行所有测试: 这应该针对给定的特定目录运行所有测试: 这应该以前缀为的导入路径运行所有测试: 这应该运行所有带有前缀的测试导入路径: 这应该在$ GOPATH中运行所有测试: