如何使VSCode使用C#7而不是C#4?

时间:2018-10-04 21:58:10

标签: c# .net visual-studio-code omnisharp

我的VSCode调试器说我正在使用c#4。我找不到任何有关使VSCode切换到C#7的文档。我在Windows 10上。我不知道这是否是DotNet Core问题,VSCode问题或Omnisharp问题。我将不胜感激有人将我指向解决该问题的一组说明或帖子。

我的VSCode .csproj文件顶部的摘录:

    <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" 
    DefaultTargets="Build" 
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> <LangVersion>4</LangVersion> </PropertyGroup> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 

这些是我的VSCode版本:

    Version: 1.27.2 (user setup) 
    Commit: f46c4c469d6e6d8c46f268d1553c5dc4b475840f 
    Date: 2018-09-12T16:17:45.060Z
    Electron: 2.0.7 
    Chrome: 61.0.3163.100 
    Node.js: 8.9.3 V8: 6.1.534.41
    Architecture: x64 
    .NET Core SDK version 2.1.402 (x64)

2 个答案:

答案 0 :(得分:7)

正如您在问题中张贴csproj的部分所指出的那样,当前语言版本设置为4。

<LangVersion>4</LangVersion>

通过将C#7.3设置为<LangVersion>7.3</LangVersion>

,可以获取C#7.3的最新功能。

如果仅需要C#7.0功能,则可以将值设置为<LangVersion>7</LangVersion>

This document列出了(当前)可以传递给-langversion编译器标志的有效选项。如果希望项目始终使用最新的C#版本进行编译,则可以在<LangVersion>latest</LangVersion>中将值设置为.csproj。当然,这只会编译为您的编译器版本支持的最新版本。

您可以使用值default来获取最新主版本(当前为C#7.0)的功能。

答案 1 :(得分:3)

您只需要更新

<PropertyGroup> <LangVersion>4</LangVersion> </PropertyGroup> 

到您想要的版本