Миграция из ASP.NET MVC 1.0 ломает объекты Reponse и Request - PullRequest
0 голосов
/ 07 октября 2011

Я пытался развернуть проект ASP.NET 4.0 (веб-форма) на сервере, на котором запущено приложение ASP.NET MVC 1.0 в его веб-корне. Я медленно продвигался вперед, но столкнулся со стеной, поэтому я решил перекомпилировать приложение MVC с версией 2.0 платформы MVC и 4.0 платформы .NET. Для этого я использовал несколько инструментов.

Проект успешно конвертировался, но теперь не компилируется. В частности, похоже, что есть проблема с System.Web.HttpContextBase.

Например, если у меня есть следующий код:

context.HttpContext.Response.Clear();

Я получаю следующую ошибку:

'System.Web.HttpContextBase' does not contain a definition for 'Response' and no extension method 'Response' accepting a first argument of type 'System.Web.HttpContextBase' could be found (are you missing a using directive or an assembly reference?)

Я проверил обозреватель объектов, чтобы убедиться: HttpContextBase имеет свойство Response. Эта вещь сводит меня с ума.

У меня есть еще одна большая проблема, которая, я считаю, связана. В любое время объект запроса запрашивается:

Request["old"];

Там написано:

Cannot apply indexing with [] to an expression of type 'System.Web.HttpRequestBase'

Насколько я могу судить, для этого тоже нет никаких причин.

Я в своем уме. Я проверил документ с критическими изменениями для MVC 2.0, но не увидел ничего, связанного с этим. Ссылки выглядят хорошо для меня; все номера версий проверены.

Дальнейшее примечание по вопросу о сервере: у меня нет доступа к веб-серверу развертывания, кроме ftp. Я не могу войти и возиться с конфигурацией сервера. Вот почему это может показаться вам странным.

1 Ответ

1 голос
/ 07 октября 2011

Я рад, что это сработало для вас, здесь это снова как ответ для всех остальных

Возможно, ваша IDE и среда выполнения не согласны с тем, какую версию библиотеки использовать.Попробуйте создать новый проект, переместить в него исходный код и снова скомпилировать.

...