【发布时间】:2013-05-28 14:52:26
【问题描述】:
我正在使用 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 }
);
}
}
}
错误消息:命名空间“System.Web.Http”中不存在程序集“HttpConfiguration”的类型或名称(您是否缺少 using 指令或程序集引用?)
它也无法识别只读字段 RouteParameter。我突然想到它可能与版本有关,我的 System.Web dll 是版本 4.0.0.0。
另一条附加信息是,当我键入“使用 System.Web。”时,Intellisense 会识别 .Http dll
但是,在代码中,它无法识别任何参数。
【问题讨论】:
-
HttpConfiguration类在System.Web.Http库中。 -
是的,代码显示它正在使用 System.Web.Http。但是它不识别 HttpConfiguration (NOR DOES IT RECOGNIZE RouteParameter)
-
System.Web程序集包含 System.Web.Http 命名空间中的类,这就是您在那里看不到错误的原因,但是HttpConfiguration类在System.Web.Http程序集中,而不是System.Web。你能确认你引用了两个程序集吗? -
我应该右键单击并从框架中添加一个专门命名为 System.Web.Http 的程序集?因为我一个也找不到。也许这就是问题所在。为什么会这样?
-
2020 年了,仍然没有办法检查丢失的软件包并自动重新安装它们。