Dies kann daran liegen, dass der Compiler standardmäßig verschiedene C # -Sprachenversionen für verschiedene Target Frameworks verwendet.
Um die Standardsprache C # zu überschreiben, fügen Sie sie zur Projektdatei hinzu (wie in Frage vorgeschlagen):
<PropertyGroup>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
oder:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Unter C # -Sprachenversionierung finden Sie die Standardversionen für C # -Sprachen für die verschiedenen Zielframeworks und die manuelle Auswahl der C # -Sprachenversion.
Siehe auch die Antwort zum Stapelüberlauf. Unterstützt C # 8 .NET Framework? Weitere Informationen zu diesem Thema.
Hier ist ein Teil des Artikels zur Versionierung der C # -Sprache :
Versionierung der C # -Sprache
Der neueste C # -Compiler ermittelt eine Standard-Sprachversion basierend auf dem Zielframework oder den Frameworks Ihres Projekts. Dies liegt daran, dass die C # -Sprache möglicherweise Funktionen enthält, die auf Typen oder Laufzeitkomponenten beruhen, die nicht in jeder .NET-Implementierung verfügbar sind. Dies stellt auch sicher, dass Sie für jedes Ziel, für das Ihr Projekt erstellt wurde, standardmäßig die höchstkompatible Sprachversion erhalten.
Die Regeln in diesem Artikel gelten für den Compiler, der mit Visual Studio 2019 oder dem .NET Core 3.0 SDK geliefert wird. Die C # -Compiler, die Teil der Visual Studio 2017-Installation oder früherer .NET Core SDK-Versionen sind, zielen standardmäßig auf C # 7.0 ab.
Standardeinstellungen
Der Compiler bestimmt einen Standard basierend auf diesen Regeln:
--------------------------------------------------------
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
--------------------------------------------------------
Standard überschreiben
Wenn Sie Ihre C # -Version explizit angeben müssen, können Sie dies auf verschiedene Arten tun:
- Bearbeiten Sie Ihre Projektdatei manuell.
- Legen Sie die Sprachversion für mehrere Projekte in einem Unterverzeichnis fest.
- Konfigurieren Sie die Compileroption -langversion.
Bearbeiten Sie die Projektdatei
Sie können die Sprachversion in Ihrer Projektdatei festlegen. Wenn Sie beispielsweise explizit auf Vorschaufunktionen zugreifen möchten, fügen Sie ein Element wie das folgende hinzu:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Der Wert preview
verwendet die neueste verfügbare Vorschau-C # -Sprachenversion, die Ihr Compiler unterstützt.
Konfigurieren Sie mehrere Projekte
Um mehrere Projekte zu konfigurieren, können Sie eine Directory.Build.props- Datei erstellen , die das <LangVersion>
Element enthält . Dies tun Sie normalerweise in Ihrem Lösungsverzeichnis. Fügen Sie einer Directory.Build.props- Datei in Ihrem Lösungsverzeichnis Folgendes hinzu :
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Jetzt wird in jedem Unterverzeichnis des Verzeichnisses, das diese Datei enthält, die Vorschau-C # -Version verwendet. Weitere Informationen finden Sie im Artikel zum Anpassen Ihres Builds .