Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Visual Studio 2015中使用C#7?_C#_Visual Studio_Visual Studio 2015_C# 7.0 - Fatal编程技术网

如何在Visual Studio 2015中使用C#7?

如何在Visual Studio 2015中使用C#7?,c#,visual-studio,visual-studio-2015,c#-7.0,C#,Visual Studio,Visual Studio 2015,C# 7.0,Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢 如何将C#7与之配合使用?您可以通过安装Nuget软件包,将Visual Studio附带的编译器替换为支持C#7的版本: 引用此包将导致使用 中包含的C#和Visual Basic编译器的特定版本 软件包,而不是任何系统安装的版本 我在软件包页面上看不到关于Visual Studio 2015是否正式支持这一点的任何迹象。到目前为止,我没有进行彻底的测试,这表明它可以工作,但也不是

Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢


如何将C#7与之配合使用?

您可以通过安装Nuget软件包,将Visual Studio附带的编译器替换为支持C#7的版本:

引用此包将导致使用 中包含的C#和Visual Basic编译器的特定版本 软件包,而不是任何系统安装的版本

我在软件包页面上看不到关于Visual Studio 2015是否正式支持这一点的任何迹象。到目前为止,我没有进行彻底的测试,这表明它可以工作,但也不是毫无痛苦的——C#7代码可以编译,但下面有一条红色的斜线,表示语法错误:
请注意,您还需要安装Nuget软件包才能使用新的C#7值元组功能。

您可以通过安装Nuget软件包替换Visual Studio附带的编译器,以获得支持C#7的版本:

引用此包将导致使用 中包含的C#和Visual Basic编译器的特定版本 软件包,而不是任何系统安装的版本

我在软件包页面上看不到关于Visual Studio 2015是否正式支持这一点的任何迹象。到目前为止,我没有进行彻底的测试,这表明它可以工作,但也不是毫无痛苦的——C#7代码可以编译,但下面有一条红色的斜线,表示语法错误:
请注意,您还需要安装Nuget软件包才能使用新的C#7值元组功能。

在我的例子中,仅安装Microsoft.Net.Compilers是不起作用的。相反,我必须做到以下几点:

  • 为项目安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform(工具=>NuGet软件包管理器=>管理解决方案的NuGet软件包…),并安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform。
  • 为项目安装最新的Microsoft.Net.Compiler
  • 为您想要使用的最新C#功能安装任何其他NuGet软件包。在我的例子中,我的目标是使用元组,所以我安装了System.ValueTuple,工作正常

  • 但仍然需要注意的是,VisualStudio2015默认编译器不知道的C#代码下面仍然会有红色的曲线

    在我的例子中,仅安装Microsoft.Net.Compilers不起作用。相反,我必须做到以下几点:

  • 为项目安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform(工具=>NuGet软件包管理器=>管理解决方案的NuGet软件包…),并安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform。
  • 为项目安装最新的Microsoft.Net.Compiler
  • 为您想要使用的最新C#功能安装任何其他NuGet软件包。在我的例子中,我的目标是使用元组,所以我安装了System.ValueTuple,工作正常

  • 但仍然需要注意的是,VisualStudio2015默认编译器不知道的C#代码下面仍然会有红色的曲线

    请参阅此链接:@SunilKumar:这将在VS 15(即VS 2017)中启用它们。在任何地方都没有提到VS 2015(即VS 14)。请参考此链接:@SunilKumar:这将在VS 15(即VS 2017)中启用它们。在任何地方都没有提到VS 2015(即VS 14)。在这种情况下,最好使用VIsual Studio代码,或者简单地安装VIsual Studio 2017社区。这是一件很好的事情。因此,您可以慢慢地将一些项目切换到VS2017,知道在紧急情况下,其他开发人员可以使用您的代码。请注意,尽管我在理论上同意@PanagiotisKanavos,但如果您是一家中型或大型公司VS2017 Community Edition的员工,则可能无法作为许可证持有人使用。我相信VS代码是真正的自由/开源软件。我在我的Xamarin.Forms UWP、Windows 8.1和Windows Phone 8.1项目中安装了最新的Microsoft.Net.Compilers nuget,以及最新的System.ValueTuple nuget(加上所有其他系统的最新版本。*系列nugets)。在构建和运行时,一切看起来都很正常。(我还没有尝试过调试器功能集的每个角落。)VS2015.3,为.NET 4.7.1编译:
    Microsoft.NET。编译器仅在MSBuild v15.0及以上版本上受支持
    -我需要使用此版本:构建它,然后工作正常。:)在这种情况下,最好使用VIsual Studio代码,或者简单地安装VIsual Studio 2017 Community。了解这一点很好。因此,您可以慢慢地将一些项目切换到VS2017,知道在紧急情况下,其他开发人员可以使用您的代码。请注意,尽管我在理论上同意@PanagiotisKanavos,但如果您是一家中型或大型公司VS2017 Community Edition的员工,则可能无法作为许可证持有人使用。我相信VS代码是真正的自由/开源软件。我在我的Xamarin.Forms UWP、Windows 8.1和Windows Phone 8.1项目中安装了最新的Microsoft.Net.Compilers nuget,以及最新的System.ValueTuple nuget(加上所有其他系统的最新版本。*系列nugets)。在构建和运行时,一切看起来都很正常。(我还没有尝试过调试器功能集的每个角落。)VS2015.3,为.NET 4.7.1编译:
    Microsoft.NET。编译器仅在MSBuild v15.0及以上版本上受支持
    -我需要使用此版本:构建它,然后工作正常。:)