wake-up-neo.net

Problem auf der Seite "Global.asax.cs" in MVC4

In meinem ASP.NET MVC 4-Projekt zeigt meine Seite Global.asax.cs den Fehler an

 WebApiConfig.Register(GlobalConfiguration.Configuration);

Der Name 'GlobalConfiguration' ist im aktuellen Kontext nicht vorhanden

Ich habe viele Controller und Views gemacht und alles ... Wie kann ich dieses Problem lösen und mein Projekt wiederherstellen?

Hier ist der Rest meines Codes für Kontext

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

Stellen Sie sicher, dass auf Assembly System.Web.Http.WebHost.dll verwiesen wird. Hier ist GlobalConfiguration.

91
David Bohunek

Mit .NET Framework 4.5.1 befindet sich GlobalConfiguration in System.Web.Http:

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

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

Das hat bei mir funktioniert. Ich hatte Probleme mit dem Verweis, der im Update-Paket nicht korrekt aktualisiert wurde, oder das Paket sogar entfernt und erneut installiert wurde.

Der obige Befehl installiert alle Abhängigkeiten neu und führt normalerweise den Trick aus, wenn ich ein Problem mit dem Nuget-Paket-Verweis habe.

17
Reema

in meinem asp.net-Webformular basierend auf 4.5 wurde das Problem durch Hinzufügen von System.Web.Routing-DLL und darunterem Import in global.aspx behoben

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

In meinem Fall bekam ich ein ähnliches Problem in Glabal.asax:

The name 'AreaRegistration' does not exist in the current context.

Ich hatte bereits System.Web.Mvc Namespace in Global.asax.cs aber der Compiler war sich dessen nicht bewusst, dh die Klasse AreaRegistration wurde nicht gefunden.

Was das Problem behoben hat, war das Ausführen des folgenden Befehls in Package Manager Console in Visual Studio:

PM> Update-Package -reinstall

Nachdem NuGet alle Projektpakete neu installiert hatte, wurden die fehlenden Klassennamen angezeigt und der Code erfolgreich erstellt.

In der Visual Studio\NuGet-Wiederherstellungspipeline ist ein Fehler aufgetreten ...

0

Versuchen Sie auch das Gegenteil (kein Vergehen) zu dem, was David Bohunek vorschlägt. Ich habe Davids Vorschlag erfolglos ausprobiert. Dann würde ich die Referenz entfernen, auf die direkt im Abschnitt "Assemblies" verwiesen wurde. 

Dann entfernte ich die Web Api 2.2- und Web Api 2.2-Webhost-Nugets, führte eine Bereinigung durch und fügte JUST nur den Web Api 2.2-Webhost NuGet hinzu.

Versuch das. Viel Glück, es hat für mich funktioniert.

0

Ich habe die meisten der oben aufgeführten Korrekturen ohne Erfolg versucht. Ich bin sicher, dass 9 von 10 normalerweise von den obigen Beiträgen gelöst werden, außer für diesen Fehler, aber keiner von diesen hat mir geholfen.

Mein Fix für diesen Fehler bestand darin, dass ich meinen Namespace umbenannte und zwei unterschiedliche Verweise auf den Namespace hatte, was am Ende zu meinem Problem führte. Da ich den Namespace mit etwas anderem als dem, mit dem ich angefangen habe, aktualisieren wollte, habe ich dieses Problem behoben, indem ich meinen Namespace in meinem neueren WebApiConfig.cs in den neueren geändert habe. Anscheinend war es eine der letzten Dateien, bei der ich den neueren Namensraumnamen nicht verwendet hatte.

Sobald ich das geändert habe, sind meine Fehler verschwunden. Ein weiterer Fix für dieses Problem bestand darin, using old namespace name; anzugeben, wodurch es vorübergehend behoben wurde. Daher musste ich es einfach in WebApiConfig.cs mit dem neuen Namen umbenennen.

0
Lippy1m