我们有一个网站,使用运行在IIS 7上的最新MVC 4构建。我们创建了自己的应用程序池并将其运行时版本设置为4.0。过去几个月一切顺利。 昨天,我们升级到了我们最新的内部版本,包括该机器上需要的其他组件。其中一个组件安装了Newtonsoft.Json.dll v4.5.10到GAC的几个组件。是什么导致IIS在4.0应用程序池内加载.NET 2.0 dll而不是4.0版本?
这打破了我们的网站。我们做了一些快速的挖掘,发现IIS(w3wp.exe)从GAC加载Newtownsoft.Json.dll,而不是我们的网站(4.5.11 - 对于.NET 4.0)的版本。这是令人费解的,因为我们将应用程序池设置为.NET Framework 4.0。
什么会导致IIS从GAC而不是我们的本地版本加载此DLL?
任何方式强制它使用我们的本地副本?
他们很有可能会很快成为相同的版本,但其中一个是针对.NET v4.0而不是v2.0。 关于IIS如何处理所有这些的任何指针?
是的,这就是我们本周想到的。我们最终用完整版本号重新签署.NET 3.5版本。这使我们能够使用常规的json.net作为我们的web应用程序。 – 2013-06-02 03:46:36
嘿,等一下。 “我们”是你和我。蜜蜂先生。 ;) – 2013-06-02 03:48:25