找不到HttpPostAttribute?

时间:2010-05-11 12:49:58

标签: asp.net-mvc

嗨,我刚刚打开了一个我在MVC中完成的项目,我在浏览器中看了一眼,现在突然之间就找不到[HttpPost]& [HttpPostAttribute]。可能是什么问题?

errormessage的

  

找不到类型或命名空间名称'HttpPost'(您是否缺少using指令或程序集引用?)

修改 如果我注释掉[HttpPost]我得到的全局错过了UrlParameter和AreaRegistration?

使用System;
使用System.Collections.Generic;
使用System.Diagnostics.CodeAnalysis;
使用System.Linq;
使用System.Security.Principal;
使用System.Web;
使用System.Web.Mvc;
使用System.Web.Routing;
使用System.Web.Security;
使用PROJECT.Web.Models;

7 个答案:

答案 0 :(得分:13)

您可能正在引用System.Web.Mvc版本1.0.0.0 dll而不是2.0.0.0。检查对它的引用,如果错误,请将其删除并重新添加正确的版本。

答案 1 :(得分:3)

  • 回去一秒钟。

答案 2 :(得分:3)

我遇到了完全相同的问题,因为我引用的是MVC1而不是MVC2。在具有相同内部版本号v2.0.50727

的属性中

我设法通过选择System.Web.Mvc并查看其属性并将“Specific Version”设置为“True”来解决此问题

答案 3 :(得分:1)

如果您有两个版本的MVC,即1.0和2.0,也会出现此问题。在we.config或项目文件等所有位置,您可能会发现mvc 2.0 dll的引用

 `<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral,  
    PublicKeyToken=31BF3856AD364E35"/>` 

在配置或

 `{F85E285D-A4E0-4152-9332-AB1D724D3325};  
  {349c5851-65df-11da-9384-00065b846f21};  
  {fae04ec0-301f-11d3-bf4b-00c04f79efbc}`

在您的项目文件中。

但您的项目正在访问References文件夹中的MVC 1.0 dll。

转到参考并删除System.Web.Mvc并添加System.Web.Mvc

的新参考

答案 4 :(得分:1)

其暧昧的命名空间, 只需删除“使用System.Web.Http”

答案 5 :(得分:0)

我会创建一个新的ASP.NET MVC项目。如果这个项目失败了,你就已经卸下了一些需要的部件,如果它能正常工作你的现有项目搞砸了。

答案 6 :(得分:0)

您还可以查看Scott Gu的帖子here.

请参阅“手动升级ASP.NET MVC 1.0项目”一节