Ich habe ein MVC5-Projekt, das derzeit auf der "Release-Konfiguration" eingestellt ist und es funktioniert 100%. Sobald ich jedoch die Projektkonfiguration von "Release" auf "Debug" umschalte, läuft alles schief ... selbst wenn ich es zurück in den Release-Modus schalte, ist immer noch alles kaputt. Ich kann das Projekt nur wiederherstellen, wenn ich es von einem Backup wiederherstelle.
Hier ist was passiert. Erstens bekomme ich beim Ausführen des Projekts folgenden Fehler:
BC30451: 'ViewData' ist nicht deklariert. Es kann unzugänglich sein wegen seiner Schutzstufe.
Wenn ich eine Ansicht im Projekt mit Visual Studio 2013 öffne, kann ich sehen, dass alle möglichen Dinge als Fehler wie ViewData, Html, Url usw. markiert sind.
Wenn es in der Ansicht auf @Html oder @ViewData verweist, bezieht es sich normalerweise auf die Eigenschaften .Html und .ViewData der Basisklasse der Ansicht (WebViewPage). Wenn ich jedoch "@Html" eintippe. In jeder der Ansichten kann ich in der Autovervollständigung sehen, dass es sich auf den System.Web.Webpages.Html-Namespace anstelle der WebViewPage.Html-Eigenschaft bezieht. Es ist wie wenn die Ansicht nicht von der System.Web.Mvc.WebViewPage-Klasse erbt.
Irgendwelche Hinweise, wo ich anfangen kann zu suchen, um das zu beheben oder warum das passiert?
Bearbeiten: Da niemand antwortete, ging ich durch den langen Weg. Ich habe ein brandneues MVC5-Projekt erstellt, alle Pakete über Nuget hinzugefügt und dann einfach alle meine Dateien vom alten auf das neue Projekt kopiert und jetzt funktioniert es.
Hat jemand eine Idee, was zum Teufel könnte das verursachen? Ich möchte diesen ganzen Ärger in Zukunft nicht noch einmal durchmachen, wenn das Projekt plötzlich wieder aufhört zu arbeiten.
Ok, ich glaube, ich habe einen Teil der Sache hier gefunden. Die Sache ist, da der ursprüngliche Code gültig ist (er kompiliert korrekt und intellisense nimmt ihn auf) und der Code, der zum Arbeiten verwendet wird, und plötzlich, einen Tag nach dem Kompilieren, hört es einfach auf zu arbeiten.
Wenn Sie in der Ansicht den ModelType angeben und der vollständige Name nicht verwendet wird, kann dieser Fehler auftreten oder möglicherweise auftreten. Zum Beispiel mit:
%Vor%verursacht den Fehler (obwohl der Root-Namespace für das Projekt "MyProject" ist) und kann durch Angabe des vollständigen Namespace und des Klassennamens behoben werden.
%Vor%Es ist möglich, dass eine Debug-Assembly gesperrt ist. Kann Visual Studio schließen, suchen und für alle Bin-Ordner im Lösungsverzeichnis löschen. Dann öffne und neu aufbauen.
Die anderen Optionen bestehen darin, in die MVC-Projekteigenschaften zu wechseln und die beiden Buildkonfigurationen zu vergleichen. Planen Sie ein anderes .NET Framework zwischen Release und Debug? 32 Bit im Vergleich zu 64 Bit? usw.?
Sieht so aus, als wären einige MVC-Assemblies beschädigt. Haben Sie die referenzierten Assemblies auf Fehler überprüft?
Versuchen Sie auch, den gesamten internen .NET-Cache zu bereinigen. Mehr in diesem stackoverflow-Thema: Datei oder Assembly konnte nicht geladen werden ... Der Parameter ist falsch
Tags und Links asp.net-mvc vb.net asp.net-mvc-5