Olası Çoğalt bağlantılar: Ben herhangi bir CPU .NET projeyi derlemek çalışıyorum
Loading x86 or x64 assembly.NET AnyCPU proje platforma özel kütüphaneye
ama sahiptir SQLite kütüphanesini bağlamak zorunda x86 ve x64 platformları için farklı versiyonlar. X64'e yalnızca DLL sürümlerini değiştirme yardımcı olmuyor, uygulama başlamıyor, x64 referansını kullanarak kodları yeniden derlemem gerekiyor. Hem x86 hem de x64 referanslarını eklediğimde, çakışma nedeniyle derleme başarısız oluyor. x86 kullanarak uygulamayı derleyemiyorum çünkü kullandığım sistem COM kitaplıklarından biri WOW64 altında çalışmıyor.
All 32-bit VSS applications (requesters, providers, and writers) must run as native 32-bit or 64-bit applications. Running them under WOW64 is not supported
GÜNCELLEME
ben projede x64 kitaplıklarına referans fakat x86 kütüphaneleri aşağıdaki özel durum almak yüklemeyi deneyin.
The located assembly's manifest definition does not match the assembly reference.
Teşekkürler. Bunun gibi yayınlar gördüm, ancak sorun sadece DLL'yi değiştirmiyor. Hala 64 bit DLL'leri klasörüme kopyaladığımda işe yaramıyor, yine de bu 64 bit kitaplıklara başvurmayı yeniden derlemem gerekiyor. Yanlış bir şey mi yapıyorum? Ayrıca hangi sürüme başvurmam gerektiğini de anlamıyorum? – axe
Evet. Yerel kitaplıklar aynı ada sahip olmalıdır, ancak farklı klasörlerde (uygulamanızın alt klasörleri gibi) bulunmalıdır. Çalışma zamanında, OS'nin bititeye bağlı olarak doğru klasöre bakmasını sağlamak için 'SetDllDirectory' öğesini çağırırsınız. Ya da "AppDomain.CurrentDomain.AssemblyResolve" olayını [Rover tarafından önerilen] olarak kullanın (http://stackoverflow.com/questions/3787428/loading-x86-or-x64-assembly#comment7029800_6060754). Bu kitaplıkları doğrudan referans almazsınız, SQLite yönetilen sarıcı yapar. Kodunuz, sargının alttaki ana kitaplığın doğru sürümünü yüklemesini sağlayacaktır. – GSerg
Bir kez daha denedim, benim için çalışmıyor. Uygulama başlangıçta çöküyor. Sorun şu ki, x64 kitaplıklarını projeye gönderme yapıyorum, ancak çalışma zamanında x86 kitaplıklarını seçiyorum. X86 kitaplıklarını kullanarak uygulamamı yaparsam, x86 pencerelerinde mükemmel çalışır, aksi halde olmaz. – axe