我們有一個網站,使用運行在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