Hot*_*cks 13 c# asp.net url-routing asp.net-mvc-4 asp.net-web-api
只是尝试将一些代码从一个工作项目拼接到另一个工作项目."from"项目使用"属性路由",您可以[Route(…)]
在Web API控制器模块中嵌入指令,以指示HTTP消息应路由到哪个服务例程.
在"from"项目中正常工作,但在"to"项目中,我得到构建错误"找不到类型或命名空间名称'Route'(您是否缺少using指令或程序集引用?)"
我已经尝试将using
"from"项目中的所有语句复制到"to"项目,但这没有明显的效果.没有MS文档表明需要NuGet包(甚至是using
声明).这两个项目都应该是ASP.NET MVC 4.
(是的,我用config.MapHttpAttributeRoutes();
声明更新了WebApiConfig.cs .)
有任何想法吗??
Cle*_*ud8 29
VedranMandić的评论为我解决了这个问题.我在这里重新发布它,因为我认为它应该是答案(或者至少是一个答案).
我做了一个'Update-Package Microsoft.AspNet.WebApi.WebHost -reinstall'并且它有效.有趣的是,在TFS的不同PC上获得最新版本之后.我想这是因为nuget包与版本控制系统无法正常工作
Jot*_*aBe 19
属性路由在ASP.NET MVC 5或更高版本以及ASP.NET Web API 2中是本机的.
但是,有一个项目允许在以前版本的ASP.NET MVC和Web API中使用属性路由.您应该仔细阅读本页.
正如您在链接页面中看到的,此项目可作为NuGet包使用,因此可以像下面这样安装:
Install-Package AttributeRouting
(对于MVC)Install-Package AttributeRouting.WebApi
(适用于Web API)Install-Package AttributeRouting.WebApi.Hosted
(对于自托管Web API)请注意,属性路由的名称空间对于每个版本以及MVC和Web API都是不同的.因此,您必须浏览已安装软件包中包含的.dll以找出正确的名称空间,并相应地更改您的名称空间using
.例如:
using AttributeRouting.Web.Http;
Run Code Online (Sandbox Code Playgroud)
就我而言,在Web api项目中,有两个使用引用:
using System.Web.Http;
using System.Web.Mvc;
Run Code Online (Sandbox Code Playgroud)
我一移除System.Web.Mvc
,错误就消失了。
归档时间: |
|
查看次数: |
42920 次 |
最近记录: |