共用方式為


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

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

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

  • 當您使用 .NET 6 範本,然後將目標架構變更為舊版時。
  • 當您使用 .NET 6 範本,然後透過新增先前的目標框架版本以同時定位多個框架時。

推出的版本

.NET SDK 6.0.100

舊行為

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

新行為

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

變更類別

這項變更會影響 來源相容性

變更的原因

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

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

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

  • 避免將目標架構變更為舊版。 相反地,請在 Visual Studio 中建立專案時選擇您想要的目標架構,或者在命令列使用dotnet new <templateName> --framework <targetFramework>選擇您想要的目標架構。
  • 建立多目標專案時,當您建立專案時,請選取 最低 的目標架構版本。 在專案建立之後新增其他目標架構。

受影響的 API

N/A