Ошибка регистрации глобального фильтра на MVC 3 RC - PullRequest
5 голосов
/ 13 ноября 2010

У меня есть веб-приложение mvc 3, но моя компания общего веб-хостинга поддерживает только MVC 2. Поэтому я тоже развернул dll, связанный с mvc 3, и он хорошо работал на сервере, пока не стал бета-версией mvc 3.

Вчера я обновил свою компьютерную среду до mvc 3 RC и перестроил свое веб-приложение. Приложение хорошо работает на моем локальном компьютере, но при развертывании и запуске на хост-сервере выдает ошибку.

[MissingMethodException: Method not found: 'Void System.Web.Mvc.GlobalFilterCollection.Add(System.Object)'.]
Myweb.MvcApplication.RegisterGlobalFilters(GlobalFilterCollection filters) in c:\my\Global.asax.cs:18
Myweb.MvcApplication.Application_Start() in c:\my\Global.asax.cs:36

Как вы видите, когда я пытаюсь зарегистрировать глобальный фильтр в global.asax, он говорит, что не может найти метод Mvc.GlobalFilterCollection.Add (object).

Если я не регистрирую какой-либо глобальный фильтр, вся сеть хорошо работает на хост-сервере.

Как я могу решить эту ошибку?

редактирование: Похоже, что бета-версия mvc3 зарегистрирована в GAC хост-сервера. Они сказали, что это не так, но я проверил расположение ссылки на System.Web.Mvc.dll в моем приложении.

1 Ответ

5 голосов
/ 13 ноября 2010

Из вашего описания мне кажется, что у вас есть mksmatch между версией MVC 3, которую вы используете на своем компьютере, и версией, загруженной на ваш сервер. Мы изменили параметры для GlobalFilterCollection.Add, и похоже, что вы компилируете свое приложение на своем ПК с использованием MVC 3 RC, однако вы развертываете его на сервере с MVC 3 Beta. Убедитесь, что версия System.Web.Mvc.dll является верной на вашем сервере.

Редактировать: Чтобы подтвердить комментарий Эйлона, если бета-версия MVC 3 установлена ​​в GAC, она всегда побеждает, даже если у вас есть версия RC в папке bin вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...