Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'mscorlib, Version=4.0.0.0 Error

Tags:

c#

.net

asp.net

My .NET site is working fine on Localhost. But, on my Server. I get this error.

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

(Can't post screenshot, due to Stack Overflow policy)

It's something to do with asp:ScriptManager. I have used it before on the same server, but now, it's showing an error.

PS: When I remove Scriptmanager, the code runs fine.

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

like image 954
dan1 Avatar asked Nov 12 '13 15:11

dan1


1 Answers

This error comes about when you compile an application against .Net 4.5 but then run it on a machine that only has 4.0 installed.

In .Net 4.5 the ExtensionAttribute class was moved from System.Core to mscorlib. There is a type forwarder in System.Core that points to the new location in mscorlib. If you compile an app against 4.5 it will expect to find ExtensionAttribute in mscorlib. If you then run it against 4.0 you will get this exception because in actually lives in System.Core in 4.0

To fix this either deploy 4.5 to the server or make sure that you build against 4.0

like image 107
JaredPar Avatar answered Nov 13 '22 17:11

JaredPar