Ответ 1
Убедитесь, что у вас есть сборка System.Web.Http.WebHost.dll
. Это где GlobalConfiguration.
I мой проект ASP.NET MVC 4, моя страница Global.asax.cs
показывает ошибку на
WebApiConfig.Register(GlobalConfiguration.Configuration);
Имя "GlobalConfiguration" не существует в текущем контексте
Я сделал много контроллеров и Views и все... Как я могу решить эту проблему и восстановить мой проект?
Вот остальная часть моего кода для контекста
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);
}
}
}
Убедитесь, что у вас есть сборка System.Web.Http.WebHost.dll
. Это где GlobalConfiguration.
С .NET Framework 4.5.1 GlobalConfiguration находится в System.Web.Http
:
PM> Install-Package Microsoft.AspNet.WebApi.WebHost
Update-Package Microsoft.AspNet.WebApi.WebHost -reinstall
Это сработало для меня. Я столкнулся с проблемами, когда ссылка не обновлялась правильно в пакете обновления или даже удаляла и устанавливала пакет снова.
Вышеупомянутая команда переустанавливает все зависимости и обычно делает трюк всякий раз, когда я сталкиваюсь с проблемой ссылки на пакет nuget.
Также попробуйте сделать противоположное (без обид) то, что предлагает Дэвид Бохунек. Я попробовал предложение Давидса, но безрезультатно. Затем я бы удалил эту ссылку, на которую ссылался непосредственно в разделе "Ассемблемы".
Затем я удалил веб-узел Api 2.2 и Web Api 2.2 с веб-хостингами, выполнил чистую, а затем JUST добавил веб-узел веб-узла NuGet Web Api 2.2.
Попробуй. Удачи, это сработало для меня.
в моей веб-форме asp.net на основе 4.5, добавление System.Web.Routing dll и ниже импорта в global.aspx разрешило проблему
<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Http" %>
Я попытался большинство исправлений, перечисленных выше, но безрезультатно. Я уверен, что 9 из 10, как правило, решаются с помощью постов выше, но из-за этой ошибки, но ни один из них мне не помог.
Мое исправление этой ошибки заключалось в том, что я переименовывал свое пространство имен и имел две разные ссылки на пространство имен, что в итоге привело к моей проблеме. Поскольку я хотел обновить пространство имен чем-то другим, чем я начал, я решил исправить эту проблему, изменив свое пространство имен на более новое в моем WebApiConfig.cs
. Очевидно это был один из последних файлов, которые я не использовал более новое имя пространства имен.
Ну, как только я изменил это, мои ошибки исчезли. Кроме того, еще одно исправление для этой же проблемы заключалось в указании using old namespace name;
который также исправил это временно, что заставило меня просто переименовать его в WebApiConfig.cs
с новым именем.
В моем случае, что решило проблему, выполнив следующую команду в Package Manager Console
в Visual Studio:
PM> Update-Package -reinstall
После того, как NuGet переустановил пакеты, появились отсутствующие имена классов и код был успешно собран.
Что-то не работает в конвейере Visual Studio...