Asp.net-Mvc
GlobalConfiguration 不包含 Configure 的定義
我正在嘗試創建一個使用 Database First Entity Framework 的 ASP.NET MVC 站點。
我正在使用在Visual Studio Professional 2013 Update 3中創建一個新的 MVC 5 站點,然後添加一個ADO.NET 實體數據模型,我從中選擇EF Designer from database。
之後,我創建一個連接字元串,選擇表來生成框架,一切都很好。
但是,當我編譯它時,我收到此錯誤
“MyModel.GlobalConfiguration”不包含“配置”的定義
這是在Global.asax.cs和這裡的錯誤
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }
GlobalConfiguration使用添加的實體框架自動生成MyModel. 它當然沒有 Configure 方法。public partial class GlobalConfiguration { public int ID { get; set; } public long CurrentUSN { get; set; } public string DBVersion { get; set; } public long CurrentFile { get; set; } }我遵循了此處的所有答案GlobalConfiguration.Configure() 在 Web API 2 和 .NET 4.5.1 遷移後不存在,但沒有一個有效。這是一個稍微不同的情況,因為這不是升級,而是一個乾淨的項目。
所有擴展和 NuGet 包都是最新的。我什至刪除了生成的實體並重新安裝了所有 NuGet 包以查看是否有幫助,但沒有運氣。
有什麼建議?
- 打開
Package Manager Console有錯誤的項目。- 輸入
Install-Package Microsoft.AspNet.WebApi.WebHost並按 Enter。- 重建您的項目。
看起來與生成的程式碼存在某種命名空間衝突。我對這種變化相當厭倦,但到目前為止一切正常。
顯然
GlobalConfiguration是指MyModel.GlobalConfiguration。然而它真的在尋找
System.Web.Http.GlobalConfiguration我切換了這個,一切正常。多麻煩
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); System.Web.Http.GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); }