Udostępnij za pośrednictwem


Kod języka C# w szablonach nieobsługiwany przez wcześniejsze wersje

Począwszy od platformy .NET 6, szablony projektów dostarczane z zestawem .NET SDK używają najnowszych funkcji języka C#. Następujące funkcje językowe są używane w kodzie generowanym przez szablon lub domyślnie włączone w projekcie:

Niektóre z najnowszych funkcji języka C# nie są obsługiwane przez poprzednie struktury docelowe, więc mogą wystąpić problemy w następujących scenariuszach:

  • Gdy używasz szablonu platformy .NET 6, a następnie zmieniasz strukturę docelową na poprzednią wersję.
  • Jeśli używasz szablonu platformy .NET 6, a następnie wielokierunkowego, dodając poprzednią wersję platformy docelowej.

Wprowadzona wersja

Zestaw .NET SDK 6.0.100

Stare zachowanie

W poprzednich wersjach platformy .NET można zmienić strukturę docelową na poprzednią wersję lub dodać dodatkową wersję bez konieczności zmiany kodu C# utworzonego przez szablon projektu.

Nowe zachowanie

Począwszy od platformy .NET 6, po zmianie lub dodaniu platformy docelowej może być konieczne zmianę kodu języka C# wygenerowanego przez szablon, aby uniknąć używania nieobsługiwanych funkcji językowych. Projekt nie będzie kompilować bez tych zmian. Błędy i ostrzeżenia kompilatora zwykle prowadzą do zmiany wygenerowanego kodu, aby był zgodny z nową strukturą docelową.

Kategoria zmiany

Ta zmiana ma wpływ na zgodność ze źródłem.

Przyczyna wprowadzenia zmiany

Chcemy zsynchronizować szablony projektów z najnowszymi funkcjami językowymi. Główny scenariusz użycia przeznaczony dla najnowszej platformy korzysta z najnowszych funkcji języka C#.

Jeśli wystąpią błędy i ostrzeżenia dotyczące kompilacji podczas ponownego pobierania do starszej wersji platformy, skorzystaj z tych informacji, aby ułatwić zmianę wygenerowanego kodu w celu zapewnienia zgodności z wybraną strukturą docelową.

Aby uniknąć błędów czasu kompilacji podczas określania celu starszej platformy, postępuj zgodnie z następującymi sugestiami:

  • Unikaj zmieniania struktury docelowej na poprzednią wersję. Zamiast tego wybierz odpowiednią strukturę docelową podczas tworzenia projektu w programie Visual Studio lub w wierszu polecenia przy użyciu polecenia dotnet new <templateName> --framework <targetFramework>.
  • Podczas tworzenia projektu z wieloma elementami docelowymi wybierz najniższą wersję platformy docelowej podczas tworzenia projektu. Dodaj dodatkowe struktury docelowe po utworzeniu projektu.

Dotyczy interfejsów API

Nie dotyczy