.NET dünyasında, sürüm çakışmasına neden olan geçişli bağımlılıkları yönetmenin en iyi yöntemi nedir? AyrıntılarGeçiş Bağımlılığı Aynı DLL'in çakışan sürümüne neden oluyor
: Projesi da kütüphane C bağlıdır Project B bağlıdır
da
Projesi da farklı ve kitaplığın (potansiyel olarak) uyumlu sürümüne bağlıdır ProjektX bağlıdır C
A-> B> Cv1.0
&
A-> X> Cv2.0
CV1 0,0 <> Cv2.0
bu işi yapmak için bir yolu var mı?
GAC kullanılarak OLMADAN yapılabilir mi?
B ve X yalnızca ikili biçimde (kaynak erişilebilir değil) olsa bile yapılabilir mi? Başka bir deyişle
orada çatışmaları neden olmadan Proje A'da birlikte kullanıldıklarında ben kendi bağımlılıkları kullanarak Proje B ve X her biri bir yoldur.
NOT: İdeal olarak bu problemi hiç bilmemem gerektiğinin farkındayım, fakat dış kütüphanelere bağımlılık arttıkça bunun kaçınılmaz bir yan etkisi olacaktır. Bu yüzden bununla en iyi nasıl başa çıkacağını merak etmeliyim.
İdeal olarak, B'nin mevcut sürümüne bağlı olarak B'yi yeniden oluşturmalı veya güncellemelisiniz. Bunu yapamazsanız, sürümleri yeniden eşleştirmeyi deneyebilirsiniz. http://stackoverflow.com/a/11126867/48082 Bu işe yaramaz! – Cheeso
İdeal olarak, projenin, köprünün bulunduğu yerdeki durumdan kaçınmak için temizlenmesi gerektiğini kabul etti, ancak bu her zaman mümkün değil. – Newtopian
bir şekilde remapping DLL, her iki sürümü de birbiriyle uyumluysa iyi olur. En kötü durum senaryosu, uyumlu olmadıklarında, her bir orta bağımlılığın, kendi oluşturduğu versiyonu kullanmasına ve ana projenin beklediği işi yapmaya devam etmesinin bir yoludur. – Newtopian