次の方法で共有


.NET Standard 1.x ターゲットに対する警告の発生

netstandard1.xを対象とするプロジェクトが .NET 9+ SDK を使用してビルドされると、警告が生成されるようになりました。

以前の動作

以前は、ビルド警告なしで .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 を対象とする場合は、10 年以上前の .NET Framework 4.5 のサブセットに制限しています。 それ以来、多くのイノベーションが起こっていて、あなたはそれを逃してしまっています。 さらに、.NET Standard 1.x は、NuGet パッケージの詳細なセットとして配布され、大きなパッケージ依存関係グラフが作成され、プロジェクトのビルド時に多数のパッケージがダウンロードされます。

詳細については、「 .NET Standard 1.x をターゲットにすることの欠点は何ですか?」を参照してください。

TargetFramework プロパティをnetstandard2.0またはnetstandard2.1に更新します。

以前の .NET Standard バージョンを使用する必要がある場合は、プロジェクト ファイル (<CheckNotRecommendedTargetFramework> ファイルなど) または false ファイル内のを設定して、ターゲット フレームワークのバージョン チェックをスキップできます。

<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

なし

こちらも参照ください