我们有一个网站,使用在 IIS 7 上运行的最新 MVC 4 构建。我们创建了自己的应用程序池并将其运行时版本设置为 4.0。在过去的几个月里,一切都很顺利。昨天,我们升级到了最新的内部版本,包括该机器所需的其他组件。其中一个组件将Newtonsoft.Json.dll v4.5.10 安装到GAC中,用于它的几个组件。
这破坏了我们的网站。我们进行了一些快速挖掘,发现 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 如何处理这一切的任何指针?