Я пытался развернуть проект 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. Я не могу войти и возиться с конфигурацией сервера. Вот почему это может показаться вам странным.