2012-09-17 31 views
18

我剛剛安裝了Visual Studio 2012並開始檢出MVC 4和Web Api。 我用Web API創建了一個新的MVC 4應用程序。基於一些例子和教程我開始與我的配置路線:System.Web.Routing.RouteCollection不包含「MapHttpRoute」的定義 - VS 2012,Web API

routes.MapHttpRoute(
       name: "Controller only", 
       routeTemplate: "api/{controller}" 
      ); 

然而,這會導致一個錯誤,RouteCollection不包含定義MapHttpRoute。我是否缺少一些安裝的DLL? 據我所見,我已經安裝了所有正確的DLL和版本。

回答

28

我已經通過添加RouteConfig.cs到System.Web.Http參考

+0

我不得不添加此引用添加。但仍然有錯誤,請幫助審查[這裏](http://stackoverflow.com/questions/13908970/assembly-reference-missing-when-migration-asp-net-mvc4-from-beta-to-4) –

+2

@ Joe.wang,你是否在RouteConfig.cs中添加了System.Web.Http? – sTodorov

+0

OMG ... doh!...需要'使用System.Web.Http' –

25

嘗試引用解決它: System.Web.Http和 System.Web.Http.WebHost.dll

然後添加一個使用聲明命名空間: System.Web.Http

注意:這也可能是您的智能感應正在發揮作用。在這種情況下,請繼續並手動鍵入您的代碼並構建。

希望幫助

+6

添加System.Web.Http.WebHost.dll修復了我的問題。 – Scottie

+0

Intellisense爲我而動。 – sparebytes

+0

爲了讓System.Web.Http在引用列表中可用,我首先需要通過NuGet包管理器將'Microsoft.AspNet.WebApi.Core'包應用於我的項目。 – sonyisda1

4

只需使用System.Web.Mvc;解決我的問題

+0

這是我的問題。我有一個像MapHttpRoute和MapOwinRoute這樣的方法列表,但我只是想MapRoute,這是缺席。謝謝! – VictorySaber

相關問題