Запуск приложений ASP.NET MVC Preview 3 на коробке с установленной бета-версией - как я могу удалить System.Web.Mvc из GAC после установки ASP.NET MVC Beta? - PullRequest
1 голос
/ 08 ноября 2008

У меня есть приложение, созданное для MVC Preview 3 (со ссылками на локальные копии сборок MVC), которое я пытаюсь изменить / протестировать на компьютере с установленной бета-версией ASP.NET MVC. Мне пока не интересно обновлять это приложение для работы с бета-версией MVC - мне просто нужно внести несколько небольших изменений.

Это происходит с MissingMethodExceptions на RouteCollection.IgnoreRoutes (в global.asax.cs), потому что во время выполнения CLR всегда находит бета-версию System.Web.Mvc в GAC и загружает ее вместо версии предварительного просмотра 3 в каталог \ bin моего сайта.

Поскольку сборки имеют одинаковое имя, версию и открытый ключ, я полагаю, что нет никакого различия между ними в web.config, поэтому я думаю, что единственным решением здесь является удаление бета-сборок ASP.NET MVC из GAC. .

Только - я не могу этого сделать, потому что они установлены установщиком Windows, поэтому я не могу удалить их с помощью gacutil.exe / u, и я получаю сообщение «Доступ запрещен» при попытке удалить их напрямую.

Кто-нибудь знает, как я могу удалить эту сборку - или, если это не удастся, как запустить / разместить приложение, для которого требуется предварительный просмотр System.Web.Mvc 3 в системе, в которой в GAC установлена ​​бета-версия System.Web.Mvc?

Ответы [ 4 ]

2 голосов
/ 08 ноября 2008

Вы можете загрузить ASP.NET MVC Preview 3 Source и скомпилировать его со своим собственным SNK или дать ему другую официальную версию и ссылаться на нее на своем веб-сайте.

1 голос
/ 08 ноября 2008

Здесь ответ Hangy, похоже, отвечает всем требованиям - если нам в конечном итоге придется поддерживать это приложение на нескольких рабочих станциях, это именно то, что мы будем делать, пока у нас не будет времени для переноса кода в бета / живую версию.

Тем временем, однако, я фактически взломал реестр, чтобы я мог удалить System.Web.Mvc из GAC - полная информация размещена на моем блоге . Существующий код теперь работает без изменений ни в Preview 3, ни в бета-проектах.

1 голос
/ 08 ноября 2008

Я думаю, что ваш лучший выбор, поскольку приложение было построено на предварительном выпуске, - это обновить приложение для работы с бета-версией, зная, что в конечном итоге вам придется обновить его для работы с производственным выпуском. Я знаю, что это не то, что вы хотите услышать, но я думаю, что это факт жизни с релизами CTP и публичными бета-версиями.

0 голосов
/ 18 ноября 2008

По этот вопрос здесь и по этой ссылке необходимо удалить ключ реестра

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

от

HKEY_CLASSES_ROOT\Installer\Assemblies\Global

// Редактировать - О, это твой блог lol . Спасибо за пост: -)

...