Może to być spowodowane tym, że kompilator domyślnie używa różnych wersji językowych C # dla różnych struktur docelowych.
Aby zastąpić domyślny język C #, dodaj do pliku projektu (zgodnie z sugestią w pytaniu):
<PropertyGroup>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
lub:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Zobacz Wersje językowe C #, aby uzyskać domyślne wersje językowe C # dla różnych platform docelowych i jak ręcznie wybrać wersję językową C #.
Zobacz także odpowiedź na temat przepełnienia stosu Czy C # 8 obsługuje .NET Framework? po więcej informacji na ten temat.
Oto część artykułu na temat wersji językowej C # :
Wersja językowa w C #
Najnowszy kompilator C # określa domyślną wersję językową na podstawie docelowych ram lub ram projektu. Wynika to z faktu, że język C # może mieć funkcje zależne od typów lub składników środowiska wykonawczego, które nie są dostępne w każdej implementacji platformy .NET. Zapewnia to również, że niezależnie od celu, na którym opiera się Twój projekt, domyślnie otrzymujesz najwyższą kompatybilną wersję językową.
Reguły w tym artykule dotyczą kompilatora dostarczanego z Visual Studio 2019 lub .NET Core 3.0 SDK. Kompilatory C #, które są częścią instalacji Visual Studio 2017 lub wcześniejszej wersji zestawu .NET Core SDK, domyślnie korzystają z C # 7.0.
Domyślne
Kompilator określa wartość domyślną na podstawie następujących reguł:
--------------------------------------------------------
Target framework | version | C# language version default
--------------------------------------------------------
.NET Core | 3.x | C# 8.0
.NET Core | 2.x | C# 7.3
.NET Standard | 2.1 | C# 8.0
.NET Standard | 2.0 | C# 7.3
.NET Standard | 1.x | C# 7.3
.NET Framework | all | C# 7.3
--------------------------------------------------------
Zastąp ustawienie domyślne
Jeśli musisz jawnie określić swoją wersję C #, możesz to zrobić na kilka sposobów:
- Ręcznie edytuj plik projektu.
- Ustaw wersję językową dla wielu projektów w podkatalogu.
- Skonfiguruj opcję kompilatora -langversion.
Edytuj plik projektu
Możesz ustawić wersję językową w pliku projektu. Na przykład, jeśli chcesz bezpośrednio uzyskać dostęp do funkcji podglądu, dodaj taki element:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Ta wartość preview
korzysta z najnowszej dostępnej wersji językowej C # podglądu obsługiwanej przez kompilator.
Skonfiguruj wiele projektów
Aby skonfigurować wiele projektów, możesz utworzyć plik Directory.Build.props zawierający ten <LangVersion>
element. Zazwyczaj robisz to w katalogu rozwiązań. Dodaj następujące elementy do pliku Directory.Build.props w katalogu rozwiązania:
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Teraz kompilacje w każdym podkatalogu katalogu zawierającego ten plik będą używać wersji zapoznawczej C #. Aby uzyskać więcej informacji, zobacz artykuł na temat dostosowywania kompilacji .