Masalah teras terletak di dalam Loader Perhimpunan NET, yang bertanggungjawab untuk mencari dan memuatkan perhimpunan luaran. Loader ini dengan teliti memeriksa versi, budaya, dan token utama pemasangan terhadap maklumat dalam rujukan projek anda. Tidak sepadan, seperti yang ditunjukkan oleh kesilapan, membawa kepada perhimpunan yang salah dimuatkan.
Mesej ralat sering menyoroti konflik: contohnya, rujukan kepada versi 1.2.0.203 dari perhimpunan "utiliti", tetapi loader mendapati versi 1.2.0.200.
Penyelesaian ini melibatkan memastikan versi yang betul (1.2.0.203 dalam contoh ini) boleh diakses oleh aplikasi anda. Terdapat dua pendekatan utama:
Pasang pemasangan yang betul ke dalam GAC menggunakan perintah :
gacutil
gacutil /i "path/to/my.dll"
Sebagai alternatif, letakkan fail yang betul secara langsung dalam laluan pelaksanaan aplikasi anda.
my.dll
Jika anda tidak pasti lokasi pemasangan, alat seperti AssemblySniffer boleh membantu. Utiliti ini mencari sistem fail anda untuk perhimpunan yang sepadan dengan kriteria tertentu (versi, token utama awam, dan lain -lain), menentukan versi yang bercanggah.
Dengan menyelesaikan percanggahan versi pemasangan, Loader pemasangan .NET akan memuatkan perhimpunan yang dimaksudkan dengan betul, menyelesaikan kesilapan "perselisihan yang tidak sepadan dengan persimpangan" dan membenarkan ujian unit anda untuk dilaksanakan tanpa masalah.
Atas ialah kandungan terperinci Kenapa ujian unit C# saya gagal dengan kesilapan 'Perhimpunan Manifest Mismatch'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!