Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Linux yerel kütüphane çözümü artık
.NET 8'den itibaren, Linux uygulamaları artık yerel kitaplıklar için netcoredeps alt dizinine bakmaz.
Sürüm kullanıma sunulmuştur
.NET 8
Önceki davranış
.NET'in önceki sürümlerinde Linux uygulamaları, uygulama yürütülebilir dosyasının yanında bulunan bir netcoredeps alt dizinde yerel kitaplıklar aradı. Bu davranış, kullanıcı tanımlı platform çağrıları (p/invokes) dahil olmak üzere tüm yerel kitaplık yüklerine uygulanır.
Yeni davranış
.NET 8 ve sonraki sürümlerde, Linux uygulamaları artık netcoredeps alt dizinini yerel kitaplıklar için aramaz. Yerel kitaplık çözümlemesi artık bu alt dizine bağlı kalmadan standart mekanizmaları izler.
Kesinti yaratan değişiklik türü
Bu, bir davranış değişikliğidir.
Değişiklik nedeni
Davranış netcoredeps başlangıçta önceki .NET sürümlerindeki üçüncü taraf kitaplıklarındaki karmaşık bağımlılıkları işlemek için sunulmuştur. .NET 8+ artık geliştirilmiş bağımlılık işleme nedeniyle bu davranışı gerektirmez. Buna ek olarak, mekanizma ELF platformları için önerilen uygulamalarla uyumlu değildir.
Daha fazla bilgi için bkz. GitHub sorunu #114393.
Önerilen eylem
Uygulamanız p/invoke'lar veya özel yerel kitaplık çözümlemesi için alt dizine bağımlıysa netcoredeps aşağıdaki alternatifleri kullanın:
- Aşağıdakilerden birini kullanarak özel bir çözümleme mekanizması uygulayın:
- Dağıtımınızda bir
RPATHgerekiyorsa,patchelfyardımcı programını kullanarak ELF dosyasını doğrudan değiştirin.