如何引用Route和ResponseType属性?

时间:2015-08-23 07:03:15

标签: c# asp.net asp.net-web-api

当我在Web应用程序上的visual studio中工作时,我的计算机意外崩溃了。结果我的csproj完全被破坏了,所以我不得不启动一个新的web项目并重新添加我旧项目中的所有文件和程序集。

但由于某种原因,即使我仍然有适当的使用方法,也无法找到应该在System.Web.Http和ResponseType中的应该在System.Web.Http.Description中的Route。此外,我的项目仍在引用System.WebSystem.Web.Http,而我的应用程序中的所有其他内容似乎都没有产生任何此类错误。

enter image description here

我也尝试写出这些类的完整路径(即System.Web.Http.Description.ResponseType),但是当intellisense能够探索命名空间时,缺少Route和ResponseType属性。

我不确定这是否相关,但是当我右键单击“控制器”并选择“添加”时,我无法再选择添加控制器。事情搞砸了这个项目......

3 个答案:

答案 0 :(得分:0)

您应该重新安装必要的软件包以启用Attribute Routing

从Visual Studio的工具菜单中,选择 Library Package Manager ,然后选择 Package Manager Console 。在程序包管理器控制台窗口中输入以下命令:

Install-Package Microsoft.AspNet.WebApi.WebHost

然后在手动添加相关引用(例如System.Web.dllSystem.Web.Http.dll后,如果它们尚未被引用)并使用正确的namespaces后,您的属性应该有效:

using System;
using System.Web.Http;
using System.Web.Http.Description;

答案 1 :(得分:0)

作为已接受答案的替代方案,我发现只要第一个Web API 2控制器通过解决方案资源管理器的上下文菜单添加到项目中,就可以自动安装必要的软件包。

答案 2 :(得分:0)

通过执行以下操作为我解决!

  1. 保存解决方案
  2. update-package -reinstall
相关问题