Ich arbeite an einem MVC3-Projekt und erhalte die folgende Fehlermeldung:
Parser-Fehlermeldung: Typ 'GodsCreationTaxidermy.MvcApplication' konnte nicht geladen werden.
Quellfehler:
Linie 1:
<%@ Application Codebehind="Global.asax.cs" Inherits="GodsCreationTaxidermy.Core.MvcApplication" Language="C#" %>
Der Fehler, den ich erhalte, ist, dass GodsCreationTaxidermy.Core.MvcApplication nicht geladen werden kann, aber in diesem Screenshot wird der Kernteil im Fehler nicht angezeigt:
Hat jemand Ideen oder eine Lösung für diesen Fehler?
asp.net
asp.net-mvc-3
PsychoCoder
quelle
quelle
Antworten:
Auf Ihrem lokalen Webserver wird ein anderer Code ausgeführt als der, an dem Sie tatsächlich arbeiten. Stellen Sie sicher, dass Sie das Debuggen beendet haben, stoppen Sie Ihren lokalen Webserver, bereinigen und neu erstellen, wie von Peter vorgeschlagen, überprüfen Sie Ihre global.asax und global.asax.cs und versuchen Sie es erneut.
Wenn dies nicht funktioniert und Sie lokalen IIS verwenden, entfernen Sie die Site im IIS-Manager und erstellen Sie sie manuell neu.
quelle
Überprüfen Sie, ob der Projektausgabepfad (Projekteigenschaften / Build) auf
bin
und nichtbin\Release
oder eingestellt istbin\Debug
Aus irgendeinem Grund greift IIS (VS Development Server oder Local IIS) immer über das
bin
Verzeichnis auf die Bibliotheken zu (und sucht nicht nach Unterverzeichnissen).quelle
Versuchen Sie, Ihre global.asax-Datei zu ändern (fügen Sie einfach irgendwo ein Leerzeichen hinzu) und führen Sie sie erneut aus. Dadurch wird der integrierte Webserver gezwungen, die Datei global.asax zu aktualisieren und neu zu kompilieren.
Führen Sie auch eine Reinigung und einen Neuaufbau durch - sollte das Problem beheben
quelle
Dies passiert manchmal, wenn Sie die Namespace-Informationen (Projekt- oder Klassenebene) nach der
global.asax
Generierung ändern .Klicken Sie mit der rechten Maustaste auf die
Global.asax
Datei und wählen Sie "Öffnen mit" und dann "XML (Text) -Editor mit Codierung" (andere Editoren funktionieren möglicherweise ebenfalls, aber das verwende ich).Bearbeiten Sie dann den Abschnitt "Inherits" in der XML-Direktive
damit es mit dem tatsächlichen vollständigen Namen Ihrer Anwendungsklasse übereinstimmt. Und das ist es.
Eine andere Möglichkeit besteht darin, Ihren gesamten Code aus Global.asax.cs zu kopieren und dann eine weitere Global.asax-Datei zu löschen und zu erstellen (und den Code dann wieder in Global.asax.cs zu kopieren).
quelle
Global.asax
Datei wie in dieser Antwort angegeben bearbeitet und an die Einstellungen in der Projektkonfiguration angepasst werden.Ich habe das visuelle Studio geschlossen und wieder geöffnet und es hat funktioniert.
quelle
Ich musste zu BUILD -> CONFIGURATION MANAGER gehen und - ähm - das Kontrollkästchen neben meinem Projekt aktivieren, um sicherzustellen, dass es tatsächlich erstellt wird.
quelle
Ich hatte dieses Problem heute und es dauerte eine Weile, bis ich die Ursache gefunden hatte.
Grundsätzlich enthielt mein Hauptprojekt VS2015 ein Unterprojekt, das mit einer höheren Version von .Net Framework erstellt wurde.
Wenn Sie dieses Problem haben, meldet VS2015 seltsamerweise gerne, dass die Lösung in Ordnung ist. Wenn Sie jedoch versuchen, die Website auszuführen, erhalten Sie nur diesen irreführenden Fehler, der darauf hindeutet, dass Ihre
Global.asax.cs
Datei falsch ist.Wenn Sie diesen Fehler sehen und das Bereinigen / Wiederherstellen nicht hilft, öffnen Sie den
References
Baum Ihres Projekts und suchen Sie nach Ausrufezeichen.Überprüfen Sie auch Ihr
Output
Fenster auf Nachrichten wie diese:Die Lösung besteht natürlich darin, mit der rechten Maustaste auf Ihr Hauptprojekt zu klicken, die obere Registerkarte "Anwendung" auszuwählen und die Target Framework-Version in eine höhere Version zu ändern, die Ihrem Unterprojekt entspricht.
Es ist ärgerlich, dass Sie mit Visual Studio 2015 vollständig Lösungen erstellen und ausführen können, die dieses Problem stillschweigend enthalten. Es bittet um Ärger ..!
quelle
Sie können auch die Eigenschaften Ihrer Site in IIS überprüfen. (Klicken Sie in IIS mit der rechten Maustaste auf die Site und wählen Sie Eigenschaften.) Stellen Sie sicher, dass die Einstellung Physischer Pfad auf den richtigen Pfad für Ihre Anwendung zeigt, nicht auf eine andere Anwendung. (Das hat diesen Fehler für mich behoben.)
quelle
Ich bin gerade auf eine MVC5-Anwendung gestoßen, und bei mir hat nichts funktioniert. Dies geschah direkt nachdem ich versucht hatte, eine SVN-Wiederherstellung auf eine ältere Version des Projekts durchzuführen.
Ich musste löschen global.asax.cs und dann ein neues hinzufügen, indem mit der rechten Maustaste auf Projekt -> Neues Element hinzufügen -> Global.asax klickte, und DAS hat es schließlich behoben.
Ich dachte nur, es könnte jemandem helfen.
quelle
global.asax.cs
Datei durcheinander . Es sollte auf "Kompilieren" eingestellt sein. Die Erstellungsaktion derglobal.asax
Datei selbst sollte auf "Inhalt" gesetzt sein.Ich muss berichten, dass ich mindestens 4 Vorschläge aus diesem Beitrag ausprobiert habe. Keiner von ihnen hat funktioniert. Ich freue mich jedoch, Ihnen mitteilen zu können, dass ich mich durch Abrufen von der Sicherung erholt habe. Musste nur meine letzten Codeänderungen aus der Protokolldatei aktualisieren. Dauerte weniger als 10 Minuten. Verbrachte 3 Mal damit, diesen Beitrag zu lesen und andere Vorschläge auszuprobieren. Es tut uns leid.
Es war ein sehr seltsamer Fehler. Viel Glück für alle anderen, die diesem Gremlin begegnen.
quelle
Ich habe das gleiche Problem, wenn zwei Instanzen von Visual Studio dasselbe Projekt ausführen. Also habe ich beide Visual Studio geschlossen und nur eine Instanz geöffnet und es funktioniert jetzt gut!
quelle
Ich habe an einem älteren "ordnerbasierten" ASP.NET-Webprojekt gearbeitet (das ich verabscheue) - und fand, dass dies mein Fix ist:
Erstellen Sie einen
App_Code
Ordner (falls Sie noch keinen hatten)Verschieben Sie die
Global.asax.vb
Datei in denApp_Code
OrdnerDas Markup in Global.asax kann beliebige Namespaces weglassen (zumindest für diesen Projektstil afaik):
... wobei "MyApp" der Name der Klasse ist, die in Global.asax.vb definiert wird
quelle
"BUILD -> CONFIGURATION MANAGER und - ähm - aktivieren Sie das Kontrollkästchen neben meinem Projekt, um sicherzustellen, dass es tatsächlich erstellt wird." Dies und das Aufrufen des Projektordners im Windows Explorer, das Drücken von Optionen und das Deaktivieren des Kontrollkästchens "Schreibgeschützt" haben geholfen.
quelle
Leeren Sie den Ordner bin. Erstellen Sie alle abhängigen Klassenbibliotheken, verweisen Sie auf sie im Hauptprojekt und erstellen Sie die vollständige Lösung.
Quelle
quelle
Auch ich hatte das gleiche Problem. Obwohl ich jeder Antwort gefolgt bin, hat es nicht funktioniert. Dann habe ich die "Inherits = namespace.class " in "Inherits = vollständig qualifizierter Assemble-Name " geändert , dh "Inherits = namespace.class, assemblyname, Version =, Culture =, PublicKeyToken = " Hoffe, es hilft.
quelle
Dies kann auch passieren, wenn Sie versehentlich vergessen haben, Ihre VS-Lösung auf "Mehrere Startprojekte" zu setzen, wenn Sie ein Web und WebApi mit derselben Lösung ausführen.
Sie können dies überprüfen, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf "Lösung" klicken und "Eigenschaften" auswählen. Suchen Sie dann nach "Startprojekte".
quelle
Löschen Sie das
.vs
Verzeichnis aus dem Lösungsstamm. Reinigen. Wiederaufbauen.Dieses Problem macht mich hin und wieder verrückt und ich lande unweigerlich hier, um Antworten zu finden. Ich vermute, dass es mehrere Ursachen gibt, die diese Ausnahme hervorrufen können. Dies funktioniert einmal für mich.
quelle
Ja, ich habe alle Antworten gelesen. Wenn Sie jedoch ich sind und alle Reste Ihrer Haare herausgezogen haben, überprüfen Sie den Ordner \ bin. Da die meisten proj-Dateien möglicherweise mehrere Konfigurationen unter dem XML-Element gruppiert haben
PropertyGroup
, habe ich denOutputPath
Wert von 'bin \ Debug' geändert , um den Teil '\ Debug' zu entfernen und neu zu erstellen. Dadurch wurden die Dateien im Ordner \ bin abgelegt, sodass Express IIS den Build finden und laden kann. Ich frage mich, wie diese verschiedenen Builds richtig verwaltet werden können, damit eine lokale Debug-Bereitstellung die Zielumgebung finden und laden kann.quelle
Dieses Problem wurde gelöst, indem ich die richtige Berechtigung für den Ordner erteilte und von IIS aus überprüfte.
Ich habe allen die Erlaubnis gegeben, während ich in meiner lokalen Umgebung teste. Im Veröffentlichungsmodus erteilen wir dem ASP.Net-Benutzer jedoch nur die Berechtigung.
quelle
Ich habe auch den gleichen Fehler ... überprüfen Sie den Namen der Anwendung, die Sie richtig entwickelt haben, dh. Der zugewiesene Namespace und der Assemblyname sowie der physische Name des Ordners, der für die Anwendung erstellt wurde, sollten mit dem Namen im obigen Namespace in der Datei global.asax übereinstimmen
quelle
Ich habe auch den gleichen Fehler erhalten ... Überprüfen Sie die IIS-Konfiguration Ihres virtuellen Verzeichnisses und stellen Sie sicher, dass Eigenschaften - ASP.NET - ASP.NET-Version mit Projekteigenschaften - Anwendung - Zielframework identisch sind. (Das hat diesen Fehler für mich behoben.)
quelle
Meine App wurde in einer älteren Version von VS erstellt und hatte keinen bin-Ordner. Ich hatte es auf eine neuere Version aktualisiert und hatte einen Albtraum, es bereitzustellen. Ich habe diesen Fehler schließlich bis zu Projekt> Eigenschaften> Anwendung verfolgt. Das Ziel-Framework wurde auf 2.0 festgelegt. Das Problem wurde für mich behoben, indem es auf dem Server so geändert wurde, dass es mit dem IIS-Manager / App-Pool übereinstimmt.
quelle
Ich fand, dass das Ändern des Namespace im Projekt, ohne dies über die gesamte Lösung hinweg umzugestalten, mein Problem war. Überprüfen Sie die Eigenschaften Ihres Projekts und stellen Sie fest, wie Ihr Namespace lautet. Stellen Sie sicher, dass die Linien auf der ganzen Linie ausgerichtet sind.
quelle
Das Problem für mich ist, dass ich global.asax.cs nicht in mein Projekt aufgenommen habe. Und weil ich Dateien von .net 4.5 auf 4.0 kopiert habe, habe ich keine Zeilen auskommentiert, die in 4.0 nicht benötigt werden. Da es nicht enthalten war, kompilierte Visual Studio es trotzdem ohne Probleme. Aber als ich es einfügte, wurden die Zeilen hervorgehoben, die Probleme verursachen.
quelle
Ich habe buchstäblich einen Tag damit verbracht, dieses Problem zu lösen.
Das einzige, was funktionierte, war das Löschen der SLN-Datei, das Erstellen einer neuen und das Hinzufügen der Projekte nacheinander.
¯ \ _ (ツ) _ / ¯ - Programmierung - ¯ \ _ (ツ) _ / ¯
quelle
In meinem Fall war die Webassembly Teil von GAC. Nach dem Erstellen muss sie in GAC installiert werden und funktioniert.
quelle
Ich bin auf diese Fehlermeldung gestoßen und habe schließlich festgestellt, dass die Fehlermeldung irreführend ist. In meinem Fall scheint es ein Routing-Problem in IIS gegeben zu haben, das dazu führte, dass die Datei global.asax von einer anderen Site auf dem Webserver gelesen wurde, wodurch der Fehler generiert wurde.
In IIS war meine Site an http: * 80: webservices.local gebunden und enthielt eine Anwendung namens MyAPI. Ich habe die gefürchtete Nachricht erhalten, als ich die MyAPI-Anwendung unter Verwendung der IP-Adresse des Webservers aufgerufen habe.
Um meine Anwendung erfolgreich aufzurufen, musste ich auf allen Computern, auf denen die MyAPI-Anwendung aufgerufen wurde, einen Hostdateieintrag für webservices.local hinzufügen. Dann musste allen meinen Anfragen das Präfix http: //webservices.local/MyAPI/ vorangestellt werden, um korrekt weiterzuleiten .
quelle
Ich habe hier absolut alles versucht und nichts hat funktioniert. Mein Projekt war in VS 2013. Ich habe seitdem ein Upgrade auf VS 2015 durchgeführt und alle meine neuen Anwendungen im Jahr 2015 erstellt, aber alle meine alten Apps, die 2013 in dieser Version erstellt wurden, geladen, kompiliert, erstellt usw.
Ich habe die Lösung 2015 nur geladen und sie für mich gelöst.
quelle
Ich habe mehrere Tage mit diesem Thema verbracht. Ich habe es endlich mit der folgenden Kombination von Vorschlägen aus diesem Beitrag gelöst.
bin\
anstelle vonbin\x64\Debug
. Ich hatte dies bereits mehrmals versucht, bevor ich das Plattformziel geändert hatte. Es hat nie einen Unterschied gemacht, außer dass der Fehler aufgetreten ist, dass die Assembly aufgrund eines ungültigen Formats nicht geladen werden konnte.Um klar zu sein, musste ich beides tun, bevor es anfing zu funktionieren. Ich hatte sie mehrere Male einzeln ausprobiert, aber es wurde erst behoben, als ich beides tat.
Wenn ich eine dieser Einstellungen wieder auf das Original zurücksetze, wird der gleiche Fehler erneut angezeigt, obwohl ich Clean Solution ausgeführt und alles im
bin
Verzeichnis manuell gelöscht habe .quelle
Zwei Möglichkeiten, dies zu erreichen:
Der Konfigurationsmanager zeigt die DLL-Builds als eine Mischung aus '64'- und' beliebiger CPU'-Builds an. Wenn Sie alle auf denselben Build setzen, wird das Problem behoben.
Beim Wechseln zwischen Zweigen wird der IIS-Expresspfad manchmal nicht aktualisiert. Klicken Sie in der Taskleiste mit der rechten Maustaste auf "IIS Express"> Alle Anwendungen anzeigen und überprüfen Sie, ob der Pfad zum richtigen Zweig führt.
quelle