【问题标题】:Setting C# 7 in 'web site' in Visual Studio 2017在 Visual Studio 2017 的“网站”中设置 C#7
【发布时间】:2017-10-14 19:16:08
【问题描述】:

我在 Visual Studio 2017 中创建了一个新的“网站”。

我正在尝试使用新的元组语法 - 我将其直接输入到后面的代码中:

private (string a, string b) myfunc()
{

}

它说你不能在 C# 5 中使用新的元组语法。我将此应用程序设置为 .net Framework 4.7

是否可以将网站应用程序设置为 C# 7?这适用于新的 MVC 应用,但不适用于网站。

我找不到在 Google 中设置 C# 版本的明确方法。似乎很奇怪,这不是更容易设置吗?!

是否可以在网站项目中使用元组/C# 7?

【问题讨论】:

  • @hvd 我不认为这是完全重复的,因为这里的问题是为什么元组在这种特定情况下不起作用。标题暗示只是将 C# 7 设置为语言版本,但它不仅仅是问题正文中的内容。

标签: c# asp.net visual-studio-2017 c#-7.0


【解决方案1】:

默认情况下,C# 7 中不包含元组。你需要安装System.ValueTuple nuget

请看this blog

首先,如果您创建一个新的 Visual Studio 2017 控制台应用程序 在 .NET Core 中尝试 C# 7 中的元组,必须先添加 来自 Nuget 的 System.ValueTuple 以体验新的增强功能。

【讨论】:

  • 这是错误的。使用 .NET 4.7 时不需要 NuGet 包,因为 .NET 4.7 已经包含 ValueTuple
  • @hvd,如果包含在内,为什么会出现此错误?
  • OP 没有收到 ValueTuple 丢失的错误,OP 收到了 C# 7 未启用的错误。阅读这个问题,以及这个问题的答案是重复的。
  • 我实际上已经看到了这个问题 - 抱歉忘记引用它。它没有公认的答案。我尝试了“卸载 Microsoft.CodeDom.Providers.DotNetCompilerPlatform” - 它没有安装,安装它并且它确实参考语言版本 7。仍然无法正常工作。我已经在使用 2.0 版编译器,我找不到“高级构建设置”对话框 - 在网站应用程序中不可用 - 但在 MVC 应用程序中,所以我没有该选项。
  • @niico,但是你尝试过 ValueTuple nuget 吗?
猜你喜欢
  • 2019-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
  • 2020-11-19
  • 2020-03-28
  • 1970-01-01
相关资源
最近更新 更多