簡體   English   中英

如何更改所有項目的Visual Studio 2017默認語言版本?

[英]How to change Visual Studio 2017 default language version for all projects?

如何在C#7.0上為所有項目設置語言版本?

項目/屬性/構建/高級... /高級構建設置屏幕

默認參數來自哪里,我想更改默認值

PS:我不是說UI語言

default值的含義來自C#編譯器本身。 因此,要進行更改,就意味着您需要更改編譯器。

但是在Visual Studio 2017附帶的編譯器中, default實際上是C#7.0,因此您無需執行任何操作。

Visual Studio Project System僅將語言版本值傳遞給MSBuild。 MSBuild將它作為/langversion選項進一步傳遞給C#編譯器。 /langversion選項使您可以指定編譯器接受的較高語言版本。 換句話說,它允許您將語言功能的使用限制為特定版本。 如果使用的語言版本比指定的語言版本高,則C#編譯器將發出錯誤。 就這樣。 如果將/langversion指定為default ,則C#編譯器將接受最后一個主要C#語言版本包括的所有有效語法(請參見MSDN上的/ langversion(C#編譯器選項)頁面)。 Visual Studio 2017隨附的最后一個主要C#版本是7.0。 請參閱C#GitHub存儲庫上的“ 在C#語言版本中添加的功能”頁面。

如果需要啟用最新的次要版本(7.1、7.2等)的功能或一次禁止對多個項目或解決方案使用某些新的C#功能,則可以使用MSBuild 15 Directory.Build.props自定義文件。 有關在MSDN上自定義構建文章的相關摘錄:

...現在,您可以在存儲庫根目錄的一個名為Directory.Build.props的文件中對其進行定義,從而一步一步為每個項目添加新屬性。 運行MSBuild時,Microsoft.Common.props在目錄結構中搜索Directory.Build.props文件(Microsoft.Common.targets查找Directory.Build.targets)。 如果找到一個,它將導入該屬性。 Directory.Build.props是用戶定義的文件,可為目錄下的項目提供自定義。

以下Directory.Build.props文件的示例指示C#編譯器在所有項目中接受最新次要C#版本(Visual Studio 2017版本15.5.3中的C#7.2)的所有有效語法,因為它們的.csproj文件不包含<LangVersion>標簽優先:

<Project>
    <PropertyGroup>
        <LangVersion>latest</LangVersion>
    </PropertyGroup>
</Project>

有關更多信息,請檢查:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM