Visual Studio 2017でC#8.0(特に範囲とnull不可の参照型)を使用したいのですが、可能ですか?
Vs2017でMicrosoft.Net.Compilers
の代わりに Microsoft.Net.Compilers.Toolset を使用できます
このパッケージは、Microsoft.Net.Compilers(Windowsのみのパッケージ)およびMicrosoft.NETCore.Compilersの replacement を目的としています。これらのパッケージは現在廃止されており、将来削除される予定です。
パッケージには、MSBuild 15.0と.NET Destkop 4.7.2または.NET Core 2.1のいずれかが必要です。
パッケージ versions:
パッケージバージョンは、vs2019と比較してc#8サポートの機能をマップします。
使い方
これらの行を.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>