Asp.net-Mvc

GlobalConfiguration 不包含 Configure 的定義

  • October 17, 2016

我正在嘗試創建一個使用 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 包以查看是否有幫助,但沒有運氣。

有什麼建議?

  1. 打開Package Manager Console有錯誤的項目。
  2. 輸入Install-Package Microsoft.AspNet.WebApi.WebHost並按 Enter。
  3. 重建您的項目。

看起來與生成的程式碼存在某種命名空間衝突。我對這種變化相當厭倦,但到目前為止一切正常。

顯然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);
}

引用自:https://stackoverflow.com/questions/25450105