我是我的ASP.NET MVC 4项目,我的Global.asax.cs
页面显示错误
WebApiConfig.Register(GlobalConfiguration.Configuration);
当前上下文中不存在名称“GlobalConfiguration”
我做了很多控制器和视图以及所有......我如何解决这个问题并恢复我的项目?
以下是我的上下文代码的其余部分
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace .....
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
}
}
答案 0 :(得分:95)
确保引用了程序集System.Web.Http.WebHost.dll
。这就是GlobalConfiguration的地方。
答案 1 :(得分:44)
使用.NET Framework 4.5.1,可在System.Web.Http
:
PM> Install-Package Microsoft.AspNet.WebApi.WebHost
答案 2 :(得分:17)
Update-Package Microsoft.AspNet.WebApi.WebHost -reinstall
这对我有用。我遇到的问题是引用没有在Update-package上正确更新,甚至再次删除和安装包。
上面的命令会重新安装所有依赖项,并且每当我遇到nuget包引用问题时,通常都会执行此操作。
答案 3 :(得分:0)
同时尝试与David Bohunek建议的相反(没有冒犯)。我试过戴维斯的建议无济于事。然后我将删除直接在" Assemblies"中引用的引用。部分。
然后我删除了Web Api 2.2和Web Api 2.2 Web Host Nugets,执行了干净,然后JUST添加了Web Api 2.2 Web Host NuGet。
试试吧。祝你好运,它对我有用。
答案 4 :(得分:0)
在我的基于4.5的asp.net webform中,在global.aspx中添加System.Web.Routing dll和以下导入解决了问题
<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Http" %>
答案 5 :(得分:0)
我尝试了上面列出的大多数修复无济于事。我相信10个中的9个通常会被上面的帖子解决,但是这个错误,但这些都没有帮助我。
我对此错误的修复是,我正在重命名我的命名空间,并且对命名空间有两个不同的引用,这最终导致了我的问题。由于我想用我开始以外的其他方式更新命名空间,我最终通过将我的命名空间更改为WebApiConfig.cs
中的新命名空间来修复此问题。显然,它是我没有使用较新的命名空间名称的最后一个文件之一。
好吧,一旦我改变了那么我的错误就消失了。此外,同一问题的另一个修复是指定using old namespace name;
,它也暂时修复了它,这让我只需要在WebApiConfig.cs
中使用新名称重命名它。
答案 6 :(得分:0)
就我而言,我在Glabal.asax中遇到了类似的问题:
The name 'AreaRegistration' does not exist in the current context.
我在System.Web.Mvc
中已经有了Global.asax.cs
命名空间,但是编译器对此并不了解,也就是说,找不到AreaRegistration
类。
解决此问题的原因是在Visual Studio中的Package Manager Console
中执行以下命令:
PM> Update-Package -reinstall
NuGet重新安装了项目的所有软件包后,缺少的类名出现,代码成功构建。
Visual Studio \ NuGet还原管道中发生了某些问题...