Dugaan saya adalah bahwa Anda tidak bekerja dengan majelis yang sangat bernama. Saya mengalami kesalahan ini ketika dua proyek mereferensikan versi yang sedikit berbeda dari perakitan yang sama dan proyek yang lebih tergantung merujuk pada proyek-proyek ini. Resolusi dalam kasus saya adalah untuk menghapus informasi kunci dan versi dari nama majelis di file .csproj (tidak masalah lagi), dan kemudian melakukan build bersih.
Perubahan antara versi perakitan yang berbeda kompatibel dengan bagian-bagian dari solusi yang merujuk kepada mereka. Jika tidak demikian halnya dengan Anda, Anda mungkin harus melakukan lebih banyak pekerjaan untuk menyelesaikan masalah.
NuGet
Dengan NuGet mudah untuk masuk ke situasi ini jika:
- Anda menginstal paket ke satu proyek dalam solusi Anda.
- Versi baru dari paket itu digunakan untuk sumber paket.
- Anda menginstalnya ke proyek lain dalam solusi yang sama.
Ini menghasilkan dua proyek dalam solusi Anda yang mereferensikan versi berbeda dari rakitan paket itu. Jika salah satu dari mereka merujuk yang lain dan merupakan aplikasi ClickOnce, Anda akan melihat masalah ini.
Untuk memperbaikinya, update-package [package name]
keluarkan perintah di Nuget Package Manager Console untuk membawa semuanya ke level yang sama, di mana masalah tersebut hilang.
Anda harus mengelola paket NuGet di tingkat solusi daripada di tingkat proyek kecuali ada alasan kuat untuk tidak melakukannya. Manajemen paket tingkat solusi menghindari potensi beberapa versi dependensi. Saat menggunakan UI manajemen, jika tab Konsolidasi menunjukkan 1 atau lebih paket memiliki beberapa versi, pertimbangkan untuk mengkonsolidasikannya menjadi satu.
bin
danobj
folder proyek Anda, dan bangun kembali proyek tersebut. Terkadang ini berhasil.