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?
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.
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>