ÇÖZÜLDÜ: mapper, System.BadImageFormatException: 'Could not load file or assembly 'DataAccess....Geçersiz biçimdeki bir program yüklenmek istendi

 


Alınan hata:

System.BadImageFormatException: 'Could not load file or assembly 'DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Geçersiz biçimdeki bir program yüklenmek istendi

Hata yeri:

public KRM_PERSONEL_BILGIController(IMapper mapper)
            {
                _imap = mapper;
                personelBusiness = new KRM_PERSONEL_BILGIBusiness(mapper);
            }


ÇÖZÜM: (Kıymetli kardeşim Abdullah Yazıcı ya teşekkürler)


Ana hatanın kaynağı DataAccess katmanının x86 ya göre buid edilmesiydi. Geçen sefer bunu düzeltmiştik fakat yine aynısı olmuş. Bunu düzeltmek için Dataaccess projesinde sağ tıklayıp properties sekmesine geliyoruz. ardından  build sekmesinde  Platform target seçeneğini any cpu yapıyoruz. Bunu yaptıktan sonra proje artık entity framework hatasına düşmeye başlıyor. Bunun kaynağı da veritabanını güncellemene rağmen modelinin hala güncellenmemiş olmasından kaynaklanıyordu. Modeli güncelledim sorun düzeldi. Tabi öncesinde başka bir sürü değişiklik de yaptım fakat sorunun kaynağı bu o yüzden diğerlerini anlatmıyorum.

Modeli güncellemek için ise Package Manager Console a gelip ;


Scaffold-DbContext "Server=DESKTOP-FIMC9U3\SQLEXPRESS;Database=memdb;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force


Bunu çalıştırman yeterli tabi connection u değiştirerek.

Sonunda ki force seçeneği hali hazırda bir model varsa onu güncelleyecektir. Yeni model ekleniyorsa onu yazmamalısın

Ayrıca projede herhangi bir hata varsa bu işleme başlamadan build yaptığı için hataya düşüyor. O yüzden bütün hataları giderip ya da yorum satırına alarak bunu denemelisin


Yorumlar

Bu blogdaki popüler yayınlar

Çözüm: The view XXX was not found. The following locations were searched

.Net Core MVC ile hazırlanmış projede Web UI ve Web Api kullanıldığında nasıl Publish ediyoruz. Sunucuya atma yöntemi