共用方式為


針對 .NET Standard 1.x 目標發出的警告

當以 .NET 9+ SDK 建置目標 netstandard1.x 的專案時,現在就會發出警告。

先前的行為

先前,您可以建置以 .NET Standard 1.0 - .NET Standard 1.6 為目標的專案,而不需要任何建置警告。

新行為

從 .NET 9 開始,如果您建置以 .NET Standard 1.0 - .NET Standard 1.6 為目標的專案,就會發出下列警告:

警告NETSDK1215:不再建議在 2.0 之前以 .NET Standard 為目標。 如需詳細資訊,請參閱 https://aka.ms/dotnet/dotnet-standard-guidance

推出的版本

.NET 9 Preview 6

破壞性變更的類型

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

變更的原因

已引入組建警告,以鼓勵客戶以 .NET Standard 2.0 或 .NET 6+ 為目標。 如果您以 .NET Standard 1.x 為目標,您會將自己限製為 .NET Framework 4.5 的子集,其年齡超過 10 年。 自那以後,你錯過了很多創新。 此外,.NET Standard 1.x 是以詳細的 NuGet 套件集提供,這會產生了一個龐大的相依套件圖,導致在建置專案時需要下載大量的套件。

如需詳細資訊,請參閱以 .NET Standard 1.x 為目標的缺點為何?

將屬性 TargetFramework 更新為 netstandard2.0netstandard2.1

如果您必須保留較舊的 .NET Standard 版本,您可以在項目檔中將 設定 <CheckNotRecommendedTargetFramework>false ,例如 .csproj 檔案或 Directory.Build.props 檔案,以略過目標 Framework 版本檢查:

<PropertyGroup>
  ...
  <CheckNotRecommendedTargetFramework>false</CheckNotRecommendedTargetFramework>
</PropertyGroup>

或者,您可以使用項目檔中的 屬性來隱藏警告 <NoWarn>

<PropertyGroup>
  ...
  <!-- Disable "Targeting .NET Standard prior to 2.0 is no longer recommended." warning -->
  <NoWarn>$(NoWarn);NETSDK1215</NoWarn>
</PropertyGroup>

受影響的 API

N/A

另請參閱