web-dev-qa-db-fra.com

Problème dans la page Global.asax.cs dans MVC4

Dans mon projet ASP.NET MVC 4, ma page Global.asax.cs indique l'erreur sur

 WebApiConfig.Register(GlobalConfiguration.Configuration);

Le nom 'GlobalConfiguration' n'existe pas dans le contexte actuel

J'ai fait beaucoup de contrôleurs et de vues et tout ... Comment puis-je résoudre ce problème et récupérer mon projet?

Voici le reste de mon code pour le contexte

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);
        }
    }
}
39
neel

Assurez-vous que vous avez référencé Assembly System.Web.Http.WebHost.dll. C'est là que se trouve GlobalConfiguration.

91
David Bohunek

Avec .NET Framework 4.5.1, GlobalConfiguration se trouve dans System.Web.Http:

PM> Install-Package Microsoft.AspNet.WebApi.WebHost
41
JDawg

Update-Package Microsoft.AspNet.WebApi.WebHost -reinstall

Cela a fonctionné pour moi. Je rencontrais des problèmes avec la référence n'étant pas mise à jour correctement sur Update-package ou même en supprimant et en réinstallant le package.

La commande ci-dessus réinstalle toutes les dépendances et fait généralement l'affaire lorsque je suis confronté à un problème de référence de paquet Nuget.

17
Reema

dans mon formulaire Web asp.net basé sur la version 4.5, l'ajout de dll System.Web.Routing et de l'importation inférieure à global.aspx a résolu le problème

<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Http" %>
0
Iman Abidi

Essayez également de faire le contraire (sans vouloir offenser) ce que suggère David Bohunek. J'ai essayé la suggestion de David en vain. Ensuite, je supprimerais cette référence qui était directement référencée dans la section "Assemblies". 

J'ai ensuite retiré les nugets Web Host Web Api 2.2 et Web Api 2.2, procédé à un nettoyage, puis JUST ajouté le Web Host NuGet.

Essayez ça. Bonne chance, cela a fonctionné pour moi.

0
Matt Vandergrift

J'ai essayé la plupart des correctifs énumérés ci-dessus en vain. Je suis sûr que 9 sur 10 sont normalement résolus par les publications ci-dessus, mais pour cette erreur, mais aucune de celles-ci ne m'a aidé.

Mon correctif pour cette erreur était que je renommais mon espace de noms et que j'avais deux références différentes à cet espace de noms, ce qui a finalement causé mon problème. Puisque je voulais mettre à jour l’espace de nommage avec quelque chose d’autre que celui par lequel j’ai commencé, j’ai résolu le problème en modifiant mon espace de noms par le plus récent de mon WebApiConfig.cs. Apparemment, c’était l’un des derniers fichiers pour lesquels je n’avais pas utilisé le nom d’espace de nom le plus récent.

Eh bien, une fois que j'ai changé cela, mes erreurs ont disparu. En outre, un autre correctif pour ce même problème consistait à spécifier using old namespace name;, ce qui l'a également corrigé temporairement, ce qui m'a obligé à le renommer dans le WebApiConfig.cs avec le nouveau nom.

0
Lippy1m