嗨,我刚刚打开了一个我在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;
答案 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项目”一节