1

ASP.NET MVCベータがインストールされているマシンで変更/テストしようとしているMVCプレビュー3(MVCアセンブリのローカルコピーを参照)に対してビルドされたアプリがあります。このアプリをMVCベータに対して実行するように更新することにはまだ興味がありません。いくつかの小さな変更を加える必要があります。

RouteCollection.IgnoreRoutes(global.asax.cs内)のMissingMethodExceptionsで失敗します。これは、実行時に、CLRが常にGACでSystem.Web.Mvcのベータ版を検出し、私のサイトのプレビュー3バージョンではなくこれを読み込んでいるためです。 binディレクトリ。

アセンブリの名前、バージョン、公開鍵は同じであるため、web.config内でそれらを区別する方法はないと思います。したがって、ここでの唯一の解決策は、GACからASP.NETMVCベータアセンブリを削除することだと思います。

のみ-Windowsインストーラーによってインストールされているため、これを実行できません。gacutil.exe/ uを使用して削除できず、直接削除しようとすると「アクセスが拒否されました」というメッセージが表示されます。

このアセンブリを削除する方法を知っている人はいますか?それができない場合は、GACにSystem.Web.Mvcベータ版があるシステムでSystem.Web.Mvcプレビュー3を必要とするアプリを実行/ホストする方法を知っていますか?

4

4 に答える 4

2

ASP.NET MVC Preview 3 Sourceをダウンロードして、独自のSNKでコンパイルするか、公式バージョンとは異なるバージョンを提供して、Webサイトで参照することができます。

于 2008-11-08T15:11:15.937 に答える
1

アプリはプレビュー リリースに基づいて構築されているため、ベータ リリースで動作するようにアプリをアップグレードするのが最善の策だと思います。これはあなたが聞きたいことではないことはわかっていますが、CTP のリリースとパブリック ベータに関しては、これが現実だと思います。

于 2008-11-08T15:59:10.117 に答える
1

Hangy の答えは、ここでの法案に合っているようです。このアプリを複数のワークステーションで維持する必要がある場合は、コードをベータ版/ライブ リリースに移行する時間ができるまで、まさにそれを行います。

それまでの間、私が実際に行ったことは、レジストリをハックして、System.Web.Mvc を GAC から削除できるようにすることです。詳細は私のブログに掲載されています。既存のコードは現在、Preview 3 または Beta プロジェクトのいずれにも変更を加えることなく実行されています。

于 2008-11-08T16:18:09.733 に答える
0

ここでのこの質問この参照リンクに従って、レジストリキーを削除する必要があります

System.Web.Mvc,version="1.0.0.0",culture="neutral",publicKeyToken="31BF3856AD364E35",processorArchitecture="MSIL"

から

HKEY_CLASSES_ROOT\Installer\Assemblies\Global

//編集-ああ、それはあなたのブログですlol。投稿ありがとうございます:-)

于 2008-11-18T02:47:14.150 に答える