Share via


NuGet Uyarısı NU5130

Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder have compatible matches, but not exact matches in the other location. Unless intentional, consult the list of actions below:
- Add a dependency group for .NETFramework4.7.2 to the nuspec

Sorun

lib/<tfm>/ Paketteki veya ref/<tfm>/ dizini, uyarı iletisinde belirtilen Hedef Çerçeve Takma Adı (TFM) için en az bir dosya içerir. Ancak, dosyada nuspec bu TFM için hiçbir bağımlılık grubu yok. Bu, paket tüketicilerinin paketin TFM ile uyumlu olmadığına inanmasına neden olabilir. Belirtilen TFM derlemelerinin bağımlılıklar grubunda tanımlanan uyumlu TFM'ye farklı bağımlılıkları varsa, paketi kullanan proje çalışma zamanı hatalarıyla karşılaşabilir.

Çözüm

  • Projede NuGet'in paket hedefini çalıştırma

Mümkünse, projenin hedef çerçevelerindeki bağımlılık gruplarıyla derleme TFM'lerini otomatik olarak eşlediğinden NuGet'in MSBuild paketi hedefini kullanın. Projenizin kendi NuGet bağımlılıkları için kullanması PackageReference gerektiğini unutmayın. Projeniz packages.config kullanıyorsa ve dosyası nuspec kullanmanız nuget.exe pack gerekir.

  • Dosyayı el ile düzenleme nuspec

Özel nuspec bir dosya kullanıyorsanız, bağımlılıklar sonraki uyumlu TFM ile aynı olsa bile, var olan lib/ veya ref/ derlemelerin bulunduğu her TFM'nin eşleşen bir bağımlılık grubuna sahip olması önerilir. Örneğin, bir paket ve derlemeleri içeriyorsa netstandard1.0netstandard2.0 ve bağımlılıklar her ikisi için de aynıysa, her iki TFM'nin de yinelenen bağımlılık öğeleri olan bağımlılık grupları olarak listelenmelerini öneririz.

Derleme yollarında kullanılan TFM tanımlayıcısının bağımlılık gruplarında kullanılan TFM tanımlayıcısına göre farklı bir biçim kullandığını unutmayın. Uyarı iletisi, bağımlılık grubunda kullanılacak doğru adı belirtir. Paketinizin bu hedef çerçeve için herhangi bir bağımlılığı yoksa boş bir grup kullanın. Örneğin:

<package>
  <metadata>
    ...
    <dependencies>
      <group targetFramework=".NETFramework4.7.2" />
    </dependencies>
  </metadata>
  ...
<package>
  • lib/ veya ref/ dosyalarını kaldırma

Paketinizin bildirilen TFM ile uyumlu olmasını istemiyorsanız, projenizi bu TFM için pakette hiçbir veya ref/<tfm>/ dosya bulunmayacak lib/<tfm>/ şekilde değiştirin. Örneğin, uyarı için .NETFramework4.7.2nuspecöğesine bir bağımlılık grubu eklemeyi söylüyorsa paketinizden ve lib/net472/*ref/net472/* dosyalarını kaldırın.