ÇÖ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);
}
{
_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
Yorum Gönder