We have a website, built using the latest MVC 4 running on IIS 7. We created its own application pool and set its runtime version to 4.0. All was going well for the past couple of months. Yesterday, we upgraded to our latest internal version, including other components needed on that machine. One of the components installed Newtonsoft.Json.dll v4.5.10 into the GAC for several of its components.
This broke our website. We did some quick digging and found out that IIS (w3wp.exe) was loading Newtownsoft.Json.dll from the GAC instead of our version from our website (4.5.11 - for .NET 4.0). This is puzzling as we have the application pool set to .NET Framework 4.0.
What would cause IIS to load this DLL from the GAC instead of our local version?
Any way to force it to use our local copy?
They have a high chance of being the same version soon, but one of them is targeting .NET v4.0 instead of v2.0. Any pointers on how IIS handles all this?
I have looked at a couple of thread here and here with no luck.