IIS 7 で動作する最新の MVC 4 を使用して構築された Web サイトがあります。独自のアプリケーション プールを作成し、ランタイム バージョンを 4.0 に設定しました。過去数か月間、すべてが順調に進んでいました。昨日、そのマシンに必要な他のコンポーネントを含め、最新の内部バージョンにアップグレードしました。コンポーネントの 1 つは、Newtonsoft.Json.dll v4.5.10をそのコンポーネントのいくつかのGACにインストールしました。
これにより、私たちのウェブサイトが壊れました。簡単な調査を行ったところ、IIS (w3wp.exe) がWeb サイトのバージョン (4.5.11 - .NET 4.0 の場合) ではなく、GACから Newtownsoft.Json.dll をロードしていることがわかりました。アプリケーション プールが .NET Framework 4.0 に設定されているため、これは不可解です。
IIS がローカル バージョンではなく GAC からこの DLL をロードする原因は何ですか?
強制的にローカル コピーを使用する方法はありますか?
すぐに同じバージョンになる可能性が高いですが、そのうちの 1 つは v2.0 ではなく .NET v4.0 をターゲットにしています。IIS がこれらすべてを処理する方法についての指針はありますか?