共用方式為


範本中的 C# 程式碼不受舊版支援

從 .NET 6 開始,隨附於 .NET SDK 的專案範本使用最新的 C# 語言功能。 下列語言功能用於範本產生的程式碼,或在專案中預設啟用:

先前的目標 Framework 不支援某些最新的 C# 語言功能,因此您可能會在下列情況下遇到問題:

  • 當您使用 .NET 6 範本,然後將目標 Framework 變更為舊版時。
  • 當您使用 .NET 6 範本,然後藉由新增先前的目標 Framework 版本來設定多重目標時。

導入的版本

.NET SDK 6.0.100

舊的行為

在之前的 .NET 版本中,您可以將目標 Framework 變更為舊版,或新增其他版本,而不需要變更專案範本所建立的 C# 程式碼。

新的行為

從 .NET 6 開始,當您變更或新增目標 Framework 時,您可能需要變更範本所產生的 C# 程式碼,以避免使用不支援的語言功能。 專案不會在沒有這些變更的情況下建置。 編譯器錯誤和警告通常會引導您如何變更產生的程式碼,使其與新的目標 Framework 相容。

變更類別

此變更會影響來源相容性

變更原因

我們希望專案範本與最新的語言功能同步。 以最新架構為目標的主要使用案例會使用最新的 C# 語言功能。

如果您在將目標重新設定為舊版架構時遇到編譯時期錯誤和警告,請使用該資訊來引導您變更產生的程式碼,使其與選取的目標 Framework 相容。

若要避免以舊架構為目標時發生編譯時期錯誤,請遵循下列建議:

  • 避免將目標 Framework 變更為前一版。 請改為在 Visual Studio 中建立專案時選取目標 Framework,或在命令列使用 dotnet new <templateName> --framework <targetFramework> 來選取。
  • 建立多目標專案時,請在建立專案時選取最低目標 Framework 版本。 在建立專案之後新增其他目標 Framework。

受影響的 API

N/A