7
votes

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

2

2 Answers

18
votes

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

-1
votes

JUST install microsoft framework v4.5 or higher on you pc or server it's worked for me very well