MVCを使用するいくつかの異なるサブWebを持つWebアプリケーションがあります。私が実行している問題は、2つのサブWebが異なるMVCバージョンを使用していることです。 1つは最近1.0バージョンを使用するようにアップグレードされ、1つは以前のプレビューバージョンでは動作しません。 1.0にサブウェブの1をアップグレードした後、プレビュー版を使用している他のウェブが次のエラーで失敗しASP.NET MVCバージョン管理の問題
:
Could not load type 'System.Web.HttpContextWrapper2' from assembly 'System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
私は問題はその両方に起因していると思われます1.0バージョンとSystem.Web.Abstractions DLLのプレビューバージョンは3.5.0.0というラベルが付けられていますが、実際には異なるクラスが含まれています。したがって、プレビューアプリケーションがSystem.Web.Abstractionsを参照すると、binディレクトリにあるプレビューバージョンではなく、すでにロードされているMVC 1.0バージョンが取得されます。
実際に同じバージョン番号でラベル付けされているにもかかわらず、2つの異なるバージョンの場合と同じように、ランタイムにアセンブリを2回ロードするような方法はありますか?私は自分のWeb設定でタグを使用することを検討していましたが、これを行うためにどのように使用するのか、あるいは私がここで何をする必要があるのかを達成するにはどうすればよいでしょうか。
本当に2つのバージョンが並んで実行されている必要がありますか?以前のバージョンでは問題が発生していませんか? –
私は実際に両方のバージョンを並べて実行する必要があります - 1.0バージョンでは、プレビューバージョンに対して書かれたコードがもはや機能しなくなる原因となる改訂があります。私は1.0を使用するためにプレビューバージョンを使用してアプリを変換することができましたが、私はむしろ可能であればそれをやることをやめようと思います。 –
私はMVC 1.0にアプリを変換するだけで終わった。それは最終的にとにかく行われなければならなかったが、私はまだこれを行う方法があるかどうかを知ることに興味があるだろう。 –