web-dev-qa-db-ja.com

GlobalConfigurationには構成の定義が含まれていません

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; }
}

私はここですべての回答に従いました WebConfiguration 2と.NET 4.5.1の移行後に存在しないGlobalConfiguration.Configure() が機能しませんでした。これはアップグレードではなく、クリーンなプロジェクトであるため、状況は少し異なります。

すべての拡張機能とNuGetパッケージは最新です。生成されたエンティティを削除し、すべてのNuGetパッケージを再インストールして、それが役に立ったかどうかを確認しましたが、うまくいきません。

助言がありますか?

12
Kirk
  1. Package Manager Consoleエラーのあるプロジェクト。
  2. Install-Package Microsoft.AspNet.WebApi.WebHostを押してEnterキーを押します。
  3. プロジェクトを再構築します。
27
Jason Williams

生成されたコードと何らかの名前空間の競合があるようです。私はこの変更にかなりうんざりしていますが、これまでのところすべてがうまくいきました。

どうやらGlobalConfigurationMyModel.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);
}
4
Kirk

1-チェックインを実行する場合は、チームエクスプローラーのファイルを確認してください。

2-明確な場合は、「Microsoft.AspNet.WebApi.WebHost.5.2.3」フォルダーなど、dll WebAPIに関する「パッケージ」内の古いファイルを確認します。

3-すべてを終了した後、プロジェクトをクリーンインストールします。

がんばって!!!!!

1
Melqui Franco