Bagikan melalui


NuGet Peringatan NU5130

Beberapa kerangka kerja target yang dideklarasikan dalam grup dependensi nuspec dan folder lib/ref memiliki kecocokan yang kompatibel, tetapi tidak sama persis di lokasi lain. Kecuali disengaja, lihat daftar tindakan di bawah ini:

  • Tambahkan grup dependensi untuk . NETFramework4.7.2 ke nuspec

Masalah

Direktori lib/<tfm>/ atau ref/<tfm>/ dalam paket berisi setidaknya satu file untuk Moniker Kerangka Kerja Target (TFM) yang ditentukan dalam pesan peringatan. Namun, tidak ada grup dependensi untuk TFM ini dalam nuspec file. Ini dapat menyebabkan konsumen paket percaya paket tidak kompatibel dengan TFM. Jika rakitan untuk TFM yang ditentukan memiliki dependensi yang berbeda dengan TFM yang kompatibel yang ditentukan dalam grup dependensi, proyek yang menggunakan paket mungkin mengalami kegagalan runtime.

Solusi

  • Jalankan target paket NuGet pada proyek

Jika memungkinkan, gunakan target paket MSBuild NuGet, karena secara otomatis cocok dengan TFM perakitan dengan grup dependensi dari kerangka kerja target proyek. Perhatikan bahwa proyek Anda harus digunakan PackageReference untuk dependensi NuGet-nya sendiri. Jika proyek Anda menggunakan packages.config, Anda perlu menggunakan nuget.exe pack dan file nuspec .

  • Mengedit nuspec file secara manual

Jika Anda menggunakan file kustom nuspec , kami merekomendasikan setiap TFM yang lib/ ada atau ref/ rakitannya harus memiliki grup dependensi yang cocok, bahkan jika dependensinya sama dengan TFM yang kompatibel berikutnya. Misalnya, jika paket berisi netstandard1.0 dan netstandard2.0 rakitan, dan dependensinya sama untuk keduanya, kami sarankan kedua TFM dicantumkan sebagai grup dependensi dengan item dependensi duplikat.

Perhatikan bahwa pengidentifikasi TFM yang digunakan dalam jalur perakitan menggunakan format yang berbeda dengan pengidentifikasi TFM yang digunakan dalam grup dependensi. Pesan peringatan menentukan nama yang benar untuk digunakan dalam grup dependensi. Jika paket Anda tidak memiliki dependensi untuk kerangka kerja target tersebut, gunakan grup kosong. Contohnya:

<package>
  <metadata>
    ...
    <dependencies>
      <group targetFramework=".NETFramework4.7.2" />
    </dependencies>
  </metadata>
  ...
<package>
  • lib/ Menghapus file atau ref/

Jika Anda tidak ingin paket Anda kompatibel dengan TFM yang dilaporkan, ubah proyek Anda sehingga tidak ada lib/<tfm>/ atau ref/<tfm>/ file dalam paket untuk TFM tersebut. Misalnya, jika peringatan mengatakan untuk menambahkan grup .NETFramework4.7.2 dependensi ke nuspec, maka hapus file dan ref/net472/* apa pun lib/net472/* dari paket Anda.