Bagikan melalui


NETSDK1071: PackageReference versi eksplisit ke metapackage yang akan disertakan dengan kerangka kerja.

Artikel ini berlaku untuk: ✔️ .NET 5.0.100 SDK dan versi yang lebih baru

Ketika .NET SDK mengeluarkan peringatan NETSDK1071, itu menunjukkan mungkin ada konflik versi di masa depan antara versi metapackage yang ditentukan dalam PackageReference dan versi metapackage tersebut sebagaimana direferensikan secara implisit melalui properti TargetFramework:

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

TargetFramework Karena secara otomatis membawa versi metapackage, versi akan bertentangan jika mereka pernah berbeda.

Untuk mengatasi hal ini:

  1. Saat Anda menargetkan .NET Core atau .NET Standard, pertimbangkan untuk menghindari referensi eksplisit ke Microsoft.NETCore.App atau NETStandard.Library dalam file proyek Anda.

  2. Jika Anda memerlukan versi runtime tertentu saat menargetkan .NET Core, gunakan <RuntimeFrameworkVersion>properti alih-alih mereferensikan metapackage secara langsung. Sebagai contoh, ini dapat terjadi jika Anda menggunakan penyebaran mandiri dan memerlukan patch tertentu dari runtime 1.0.0 LTS.

  3. Jika Anda memerlukan versi NetStandard.Library tertentu saat menargetkan .NET Standard, Anda dapat menggunakan <NetStandardImplicitPackageVersion> properti dan mengaturnya ke versi yang Anda butuhkan.

  4. Jangan secara eksplisit menambahkan atau memperbarui referensi ke atau Microsoft.NETCore.AppNETSTandard.Library dalam proyek .NET Framework. NuGet secara otomatis menginstal versi apa pun yang NETStandard.Library Anda butuhkan saat menggunakan paket NuGet berbasis Standar .NET.

  5. Jangan tentukan versi untuk Microsoft.AspNetCore.App atau Microsoft.AspNetCore.All saat menggunakan .NET Core 2.1+, karena .NET SDK secara otomatis memilih versi yang sesuai. (Catatan: Ini hanya berfungsi saat menargetkan .NET Core 2.1 jika proyek juga menggunakan Microsoft.NET.Sdk.Web. Masalah ini diselesaikan di .NET Core 2.2 SDK.)

  6. Jika Anda ingin peringatan hilang, Anda juga dapat menonaktifkannya:

    <PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" >
      <AllowExplicitVersion>true</AllowExplicitVersion>
    </PackageReference>