【问题标题】:GlobalConfiguration does not contain a definition for ConfigureGlobalConfiguration 不包含 Configure 的定义
【发布时间】:2014-10-16 11:45:43
【问题描述】:

我正在尝试创建一个使用 Database First Entity Framework 的 ASP.NET MVC 站点。

我正在 Visual Studio Professional 2013 Update 3 中创建一个新的 MVC 5 站点,然后添加一个 ADO.NET 实体数据模型,我从中选择 >来自数据库的 EF 设计器

之后,我创建一个连接字符串,选择表格生成框架,一切都很好。

但是当我编译它时,我收到了这个错误

'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() not present after Web API 2 and .NET 4.5.1 migration 关注了所有答案,但没有一个有效。情况略有不同,因为这不是升级,而是一个干净的项目。

所有扩展和 NuGet 包都是最新的。我什至删除了生成的实体并重新安装了所有 NuGet 包以查看是否有帮助,但没有运气。

有什么建议吗?

【问题讨论】:

    标签: asp.net-mvc entity-framework asp.net-mvc-5


    【解决方案1】:
    1. 为出现错误的项目打开Package Manager Console
    2. 输入 Install-Package Microsoft.AspNet.WebApi.WebHost 并按 Enter。
    3. 重建您的项目。

    【讨论】:

    • 我们也可以从 NuGet 包管理器 UI 安装它
    • 我尝试过但对我不起作用,我使用的是 Net40 应用程序,NET40 是否有任何变化
    【解决方案2】:

    生成的代码似乎存在某种命名空间冲突。我对这种变化感到相当厌倦,但到目前为止一切正常。

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

    【讨论】:

    • 同意,真是麻烦。您会认为 MS 可以在包名称方面做得更好和/或使它们彼此同步。
    【解决方案3】:

    1 - 如果执行签入,请确保您的团队资源管理器中的文件;

    2 - 检查“包”中有关 dll WebAPI 的旧文件,例如文件夹“Microsoft.AspNet.WebApi.WebHost.5.2.3”文件夹,如果有的话;

    3 - 一切干净后安装项目;

    祝你好运!!!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多