Pertanyaan peringatan MSB3276 - Ditemukan konflik antara versi berbeda dari rakitan dependen yang sama


Solusi saya terdiri dari beberapa proyek dan dikompilasi dengan baik. Saya menggunakan nuget dan salah satu paket yang saya gunakan adalah log4net.2.0.0. Saya baru saja memperbarui paket ke log4net.2.0.3 dan memastikan bahwa di setiap proyek yang menjadi milik solusi, referensi diperbarui. Sayangnya saya masih mendapatkan peringatan berikut selama proses kompilasi:

(ResolveAssemblyReferences target) -> C: \ Program Files   (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targe   ts (1635,5): peringatan MSB3276: Ditemukan konflik antara yang berbeda   versi rakitan tergantung yang sama. Silakan mengatur   Properti "AutoGenerateBindingRedirects" menjadi true dalam file proyek.   Untuk informasi lebih lanjut, lihat http://go.microsoft.com   / fwlink /? LinkId = 294190.

atau versi yang lebih rumit dari peringatan ini ketika dikompilasi dengan / verbositas: terinci

Pertimbangkan remover app.config perakitan "log4net, Culture = netral,   PublicKeyToken = 669e0ddf0bb1aa2a "dari Versi" 1.2.11.0 "[] ke Versi   "1.2.13.0"   [Z: \ xxx \ packages \ log4net.2.0.3 \ lib \ net40-full \ log4net.dll]   untuk menyelesaikan konflik dan menyingkirkan peringatan. C: \ Program Files   (x86) \ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets (1635,5):   peringatan MSB3276: Ditemukan konflik antara versi berbeda dari   perakitan tergantung yang sama. Silakan setel "AutoGenerateBindingRedirects"   properti menjadi true dalam file proyek. Untuk informasi lebih lanjut, lihat    http://go.microsoft.com/fwlink/?LinkId=294190.   [Z: \ xxx \ xxx \ xxx \ xxx.csproj]
  Lokasi AssemblyFoldersEx:   "{Registry: Perangkat Lunak \ Microsoft.NETFramework, v4.5, AssemblyFoldersEx}"

Saya mengerti apa artinya, sayangnya saya tidak dapat melacak proyek / pustaka mana yang masih merujuk ke versi lama log4net. Saya mengerti bahwa saya dapat menutupi peringatan hanya dengan memetakan ulang di app.config, tetapi sepertinya menyapu masalah di bawah karpet daripada benar-benar menyelesaikannya dengan benar.

Apa cara terbaik untuk melacak di mana dalam solusi saya, saya memiliki referensi ke versi lama dari log4net? Saya sudah mencoba semua yang jelas termasuk mencari semua file untuk nomor versi. Saya juga memastikan bahwa tidak ada nupkg lain yang memiliki dependensi yang ditetapkan ke versi log4net khusus ini.

Bantuan apa pun akan sangat dihargai.


32
2018-05-08 20:49


asal


Jawaban:


Terima kasih untuk ayahku dan https://github.com/mikehadlow/AsmSpy Saya berhasil menemukan bahwa:

Referensi: log4net    1.2.11.0 oleh SuperSocket.SocketBase

Ha ha! Alat yang sangat berguna!


31
2018-05-08 22:05