Asp.Net Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib hatası

herolife (1) 8 yıl önce sordu

Sitemde yönetim paneline girdiğim zaman 

Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. 


Source Error: 


Line 55: <body> 
Line 56: <form id="form1" runat="server" method="post"> 
Line 57: <asp:ScriptManager runat="server"></asp:ScriptManager> 
Line 58: <div id="wrapper"> 
Line 59: 

hatası alıyorum.Sunucu server 2003 ve .net 4.0 destekliyor projem .net 4.0 . Projeyi ilk olarak 4.5 ile yaptık 4.0'a çevirdik sonra yeni 4.0 proje oluşturup kodları oraya aktardım.

Toplam 2 cevap


alattin (17125) 8 yıl önce cevapladı

Kodunuzu .Net Framework 4.5 yerine .Net Framework 4.0'da çalıştırdığınızda alınan bir hata.
Bazı özellikler .NET 4.5'da System.Core.dll'den  mscorlib.dll'ye taşındı.

Görünen o ki projenizde hâlâ 4.5 referansı kullanan kütüphaneler var. 

Nuget ile yüklenen paketleri kontrol edin, bazen gözden kaçıyor. Package.config içinde targetFramework="net45" yazan ifadeler var mı?  Aşağıdaki örnekteki gibi:

packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AutoMapper" version="3.1.0" targetFramework="net45" />
  <package id="EntityFramework" version="5.0.0" targetFramework="net45" />
  <package id="Microsoft.AspNet.WebApi.Client" version="5.0.0" targetFramework="net45" />
  <package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" />
</packages>

Eğer varsa bu paketleri kaldırın. ve .net 4.0 paketlerini yükleyin.

herolife (1) 8 yıl önce cevapladı

Yok hepsi 4 gözüküyor iyice kontrol ettim

alattin 8 yıl önce

Yüklü paketleri kaldırın tekrardan yeniden yükleyin. Muhtemelen .net 4.5 .dll lerden birisi hala duruyor.