我正在使用MVC4构建一个站点。我甚至无法开始我有一个奇怪的错误。这是我的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web.Http; namespace MyProject { public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional } ); } } }
错误消息:程序集“HttpConfiguration”的类型或名称在命名空间“System.Web.Http”中不存在(您是否缺少using指令或程序集引用?)
它也无法识别只读字段RouteParameter。我发现它可能与版本有关,我的System.Web dll是版本4.0.0.0。
另外一条信息是当我输入“使用System.Web。”时,Intellisense会识别.Http dll
但是,在代码中,它无法识别任何参数。
解决方法
我解决了问题在于,当我创建网站时,我通过Nuget更新了所有软件包。但是,由于我不打算使用Entity Framework,因此我将其卸载。为了能够卸载该软件包,我还需要卸载Microsoft.AspNet.Providers.Core 1.2 ……我做到了。
这个丢失的包搞砸了。我清理了这个项目并重新开始了。我本可以在PM控制台中使用Update-Package命令,并且可以恢复所有丢失的包。然而,由于我做了很多混乱,相比于我所做的小工作(无效),我决定重新开始。
不管怎么说,还是要谢谢你!