从ASP.NET MVC 1.0迁移会破坏Reponse和Request对象

时间:2011-10-07 17:20:41

标签: asp.net-mvc asp.net-mvc-migration

我一直在尝试在其web-root中运行ASP.NET MVC 1.0应用程序的服务器上部署ASP.NET 4.0(webform)项目。我正在慢慢取得进展,但碰壁,所以我决定重新编译MVC应用程序对MVC框架版本2.0和.NET框架4.0。我用了一些工具来做到这一点。

该项目似乎成功转换,但现在无法编译。具体来说,似乎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对象:

Request["old"];

它说:

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

据我所知,这也没有任何理由。

我的智慧结束了。我已经检查了MVC 2.0的重大更改文档,但没有看到任何与此相关的内容。参考文献对我来说都很好;版本号全部退房。

关于服务器问题的进一步说明:除了ftp,我没有对部署Web服务器的任何访问权限。我无法进入服务器配置。这就是为什么这听起来有些奇怪。

1 个答案:

答案 0 :(得分:1)

我很高兴为你工作,这里再次作为其他人的答案

  

您的IDE和运行时可能不同意哪个库   要使用的版本。尝试创建一个新项目并移动源代码   它再次编译。