NuGet Uyarısı NU5127

Bu paket bir lib/ veya ref/ klasörü içermez ve bu nedenle tüm çerçeveler için uyumlu olarak değerlendirilir. net45, netstandard2.0 için derleme/dizin altında çerçeveye özgü dosyalar bulunduğundan, paketin uyumluluğunu doğru şekilde daraltmak için aşağıdaki boş dosyaları oluşturmayı göz önünde bulundurun:
-lib/net45/.
-lib/netstandard2.0/.

Sorun

Yalnızca kullanan lib/ paketleri PackageReference kullanan projeler ve ref/ paket uyumluluğunu belirlemek için derlemeler. Bu nedenle, herhangi lib/ bir veya ref/ dosyası olmayan bir paket tüm projelerle uyumlu olarak kabul edilir. Ancak, bir veya daha fazla hedef çerçeveye özgü MSBuild props veya hedefleri içeren paketler yalnızca bu hedef çerçevelerle uyumlu olma amacını gösterir.

Örneğin, bir paketin PackageA tek bir dosya build/net8.0/PackageA.targets() içerdiğini düşünün. Bu pakete bir proje hedeflemesi net48 (.NET Framework, Sürüm 4.8) tarafından başvurulursa NuGet herhangi bir uyarı veya hata yaymaz, aynı zamanda paketten herhangi bir varlık seçmez. Bu nedenle paket tüketicisine paketin kendi projesiyle düzgün çalışmadığı bildirilmez.

Çözüm

Uyarı iletisinde de belirtildiği gibi, listelenen TFM'ler için lib klasöründe adlı _._ boş bir dosya oluşturun. Bu, proje paketle uyumsuz olduğunda NuGet'in projeler için PackageReference geri yüklemede başarısız olmasına olanak sağlar.

Paketinizin tüm hedef çerçevelerle uyumlu olması amaçlanıyorsa ancak yalnızca belirli hedef çerçeveler için geçerliyse, içeriği <Project />olan bir dosya build/{PackageId}.props oluşturun.