Ich versuche, ViewBag in meiner Anwendung zu verwenden. Ich habe alle aktuellen DLLs, die neueste Version von MVC 3, aber dennoch wird der Fehler angezeigt:
"Der Name 'ViewBag' existiert im aktuellen Kontext nicht."
Ich habe MVC 3 sogar deinstalliert und dann neu installiert, und dennoch gibt es keine Änderung.
Ich glaube auch nicht, dass die DLLs im GAC angezeigt werden.
Was könnte mein Problem sein? Oder wie man die DLLs zum GAC hinzufügt?
dll
asp.net-mvc-3
gac
viewbag
efleming
quelle
quelle
Antworten:
Sie müssen die MVC-spezifische Razor-Konfiguration zu Ihrer web.config hinzufügen. Siehe hier: Razor HtmlHelper-Erweiterungen (oder andere Namespaces für Ansichten) Nicht gefunden
Verwenden Sie das MVC 3-Upgrade-Tool, um automatisch sicherzustellen, dass Sie die richtigen Konfigurationswerte haben.
quelle
~/Views
Position, kopieren Sie diese ebenfalls~/Views/Web.config
an diese Position.Ich hatte das gleiche Problem. Es stellte sich heraus, dass mir das fehlte
./Views/Web.config
Datei , da ich das Projekt aus einer leeren ASP.NET-Anwendung erstellt habe, anstatt eine ASP.NET MVC-Vorlage zu verwenden.Für ASP.NET MVC 5
./Views/Web.config
enthält eine Vanilla- Datei Folgendes:Das Hinzufügen einer
./Views/Web.config
Datei mit diesem Inhalt hat dieses Problem für mich behoben.quelle
<add namespace="System.Web.Optimization"/>
Versuchen Sie zu reinigen und wieder aufzubauen. In meinem Fall hat es funktioniert.
quelle
Ich hatte das gleiche Problem bei einer Lösung, die in Visual Studio 2015 auf MVC 5 aktualisiert wurde.
In der Datei web.config im Ordner Sichten (nicht die Wurzel web.config), aktualisiere ich die Versionsnummer im Sinne der
<configSections>
von2.0.0.0
zu3.0.0.0
.quelle
Nachdem Sie verschiedene Dinge ausprobiert haben, stellt sich heraus, dass es sich um einen VS-Cache handelt. Sie können das Problem beheben, indem Sie die Cache-Dateien löschen in:
Ich habe mein Projekt geschlossen, die Dateien auf diesem Pfad gelöscht und mein Projekt erneut geöffnet, die Lösung bereinigt und erneut erstellt, und das Problem wurde behoben
Die Dateien werden beim nächsten Start von Visual Studio neu erstellt
quelle
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
Ich hatte das gleiche Problem und Crimbo gab mir den richtigen Hinweis. Es wurde durch die Datei ./Views/Web.config verursacht, die vorhanden war, aber nicht die richtigen Namespaces enthielt, denke ich ...
Ich habe ein leeres MVC5-Projekt erstellt und dessen ./Views/Web.config in mein vorhandenes Projekt importiert. Die roten Wellen bei jeder Verwendung von ViewBag sind verschwunden!
quelle
Wenn Sie Visual Studio 2013 verwenden und MVC 3 verwenden möchten, wird dieser Fehler angezeigt, da Visual Studio 2013 MVC 3 nicht nativ unterstützt (selbst wenn Sie ./Views/web.config ändern), sondern nur MVC 4: https: // msdn .microsoft.com / de-de / library / hh266747.aspx
quelle
Ich hatte eine
./Views/Web.Config
Datei, aber dieser Fehler trat nach dem Veröffentlichen der Site auf. Es stellt sich heraus, dass die Build-Aktionseigenschaft für die Datei aufNone
anstelle von festgelegt wurdeContent
. Wenn Sie dies so ändern,Content
dass das Veröffentlichen ordnungsgemäß funktioniert.quelle
Ich hatte dieses Problem, nachdem ich den Standard-Namespace der Anwendung im Dialogfeld "Eigenschaften" geändert hatte.
Die ./Views/Web.Config enthielt einen Verweis auf den alten Namespace
quelle
In meinem Fall hat das Ändern der Webseite: Version auf den richtigen Wert mein Problem behoben. Für mich war der richtige Wert (2.0.0.0 anstelle von 3.0.0.0):
quelle
Nachdem ich alle Ansätze ausprobiert hatte, funktionierte keiner für mich, da ich nur korrekte Konfigurationen hatte. endlich
Das Löschen aller Dateien aus "temp" und "% temp%" aus dem System trug zur Behebung dieses Problems bei.
Öffnen Sie den Befehl Ausführen (Windows + R), geben Sie die obigen Zeichenfolgen ein und löschen Sie alle temporären Dateien.
quelle
Wenn Sie alle verfügbaren Antworten ausprobiert haben und die Antwort immer noch nicht finden können, kann dies das Problem lösen. Wenn Sie unterschiedliche Lösungskonfigurationen wie Debug, Release usw. haben, setzen Sie den Projektausgabepfad auf 'bin' und kompilieren Sie das Projekt. Änderung nach dem Kompilieren rückgängig machen.
VS sucht nach DLLs im Ordner bin
quelle
Ich hatte bereits versucht, die bin- und obj-Datei zu löschen und VS neu zu starten, und hatte kein Glück.
Ich hatte dieses Problem auch oft und es ist jedes Mal ein Schmerz, es zu lösen. Oft liegt es daran, dass die Datei web.config nicht die richtige Version einer der Referenzen enthält. Dies bedeutet, dass Sie in Visual Studio auf die Referenz klicken, um die Version auf der Registerkarte "Eigenschaften" anzuzeigen, und sie dann mit der Version in den Dateien "web.config" abgleichen.
Eine andere Möglichkeit besteht darin, (wenn möglich) auf eine spätere Version des .net-Frameworks zu aktualisieren, dann bin / obj-Dateien zu löschen und Visual Studio neu zu starten. Ich kann nur annehmen, dass es etwas in der ändert
Eine schnelle Überprüfung des Unterschieds zwischen der csproj-Datei zeigt eigentlich keinen wesentlichen Unterschied ... Aber die Unterschiede, die es zeigte, waren (ich habe hinzugefügt (entfernen), um die alte Zeile anzuzeigen)
In der Datei Web.Config (nicht in der Ansicht)
Es wurde auch hinzugefügt (zur gleichen web.config-Datei), aber ich habe es manuell entfernt
Fügen Sie schließlich in der Package Manager-Konsole hinzu
update-package
Führen Sie die Website lokal aus und sehen Sie alle Kompilierungsfehler, die durch meinen zweiten Absatz behoben wurden (passend zu den Versionen der Referenzen).
quelle
Ich habe Webseiten aktualisiert: Version unter im Ordner ./Views/Web.Config, aber diese Einstellung war auch in web.config im Stammverzeichnis vorhanden. Aktualisieren Sie beide oder entfernen Sie sie aus dem Stammverzeichnis web.config
quelle
Wie @ Wilson Vallecilla bereits erwähnt. Führen Sie die folgenden Schritte aus, um den Cache zu löschen:
Bitte folgen Sie dem folgenden Pfad, um die Dateien zu entdecken:
Ich habe mein Projekt geschlossen, die Dateien auf diesem Pfad gelöscht und mein Projekt erneut geöffnet, die Lösung bereinigt und erneut erstellt, und das Problem wurde behoben
Das Löschen Ihrer temporären ASP.NET-Dateien hilft ebenfalls. C: \ Benutzer \ Ihr.Name.hier \ AppData \ Local \ Temp \ Temporäre ASP.NET-Dateien.
Das funktioniert bei mir.
Vielen Dank!
quelle
Für MVC5, falls Sie eine Anwendung von Grund auf neu erstellen. Sie müssen dem Ordner "Ansichten" eine Datei "web.config" hinzufügen und den folgenden Code einfügen.
Beachten Sie, dass Sie für MVC 3 die Version auf 3.0.0.0 unter ändern müssen
Möglicherweise müssen Sie die Seite * .cshtml schließen und erneut öffnen, um die Änderungen anzuzeigen.
quelle