HttpConfiguration缺少程序集

Sop*_*oph 26 asp.net-mvc asp.net-mvc-4

我正在使用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 }
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息:程序集"HttpConfiguration"的类型或名称在命名空间"System.Web.Http"中不存在(您是否缺少using指令或程序集引用?)

它也无法识别只读字段RouteParameter.我发现它可能与版本有关,我的System.Web dll是版本4.0.0.0.

另外一条信息是当我输入"使用System.Web."时,Intellisense会识别.Http dll

但是,在代码中,它无法识别任何参数.

Sop*_*oph 27

我解决了 问题在于,当我创建网站时,我通过Nuget更新了所有软件包.但是,由于我不打算使用Entity Framework,因此我将其卸载.为了能够卸载该软件包,我还需要卸载Microsoft.AspNet.Providers.Core 1.2 ......我做到了.

这个丢失的包搞砸了.我清理了项目并重新开始了.我本可以在PM控制台中使用Update-Package命令,并且可以恢复所有丢失的包.然而,由于我做了很多混乱,相比于我所做的小工作(无效),我决定重新开始.

不管怎么说,还是要谢谢你!

  • 这个解决方案让我在那里...需要在更新软件包后执行一个新的`Install-Package Microsoft.AspNet.WebApi.Core`以最终解决. (16认同)

mm2*_*201 5

克隆以前对我有用的MVC 4.0应用程序时,我遇到了此错误。我的问题是Microsoft.Net.HttpNuGet软件包无法正确还原。我从NuGet控制台解决了它:

Update-Package -reinstall Microsoft.Net.Http