web-dev-qa-db-fra.com

Comment puis-je utiliser C # 8 avec Visual Studio 2017?

J'aimerais utiliser C # 8.0 (en particulier les plages et les types de référence non nullables) dans Visual Studio 2017. Est-ce possible?

30
nonsensation

Vous pouvez utiliser Microsoft.Net.Compilers.Toolset au lieu de Microsoft.Net.Compilers dans vs2017

Ce package est conçu comme remplacement pour Microsoft.Net.Compilers (qui est un package Windows uniquement) et Microsoft.NETCore.Compilers. Ces packages sont désormais obsolètes et seront supprimés à l'avenir.

Le package nécessite MSBuild 15.0 et .NET Destkop 4.7.2 ou .NET Core 2.1

Le paquet versions:

La version du package mappe la capacité de prise en charge c # 8 par rapport à vs2019.

  • La version 3.0 inclut un aperçu de C # 8.0 (Visual Studio 2019 version 16.0), mais 2.11 a été utilisé pour preview1.
  • La version 3.1 inclut un aperçu de C # 8.0 (Visual Studio 2019 version 16.1)
  • La version 3.2 comprend un aperçu de C # 8.0 (Visual Studio 2019 version 16.2)
  • La version 3.3 inclut C # 8.0 (Visual Studio 2019 version 16.3, .NET Core 3.0)

Comment utiliser

Ajoutez ces lignes au .csproj

 <PropertyGroup>
     //....
    <LangVersion>8.0</LangVersion>    
    <Nullable>enable</Nullable> <!-- to support nullable reference type -->
  </PropertyGroup>

<ItemGroup>   
    <PackageReference Include="Microsoft.Net.Compilers.Toolset" Version="3.3.1" PrivateAssets="All" />
  </ItemGroup>
1
M.Hassan