Auf einem unserer Produktionsserver wird der folgende Fehler angezeigt. Nicht sicher, warum es auf dem DEV-Server funktioniert?
Parser-Fehler Beschreibung: Beim Parsen einer Ressource, die zum Bearbeiten dieser Anforderung erforderlich ist, ist ein Fehler aufgetreten. Bitte überprüfen Sie die folgenden spezifischen Analysefehlerdetails und ändern Sie Ihre Quelldatei entsprechend.
Parser-Fehlermeldung : Typ 'TestMvcApplication.MvcApplication' konnte nicht geladen werden.
Quellfehler :
Zeile 1: <% @ Application Codebehind = "Global.asax.cs" Inherits = "TestMvcApplication.MvcApplication" Language = "C #"%>
Quelldatei: /global.asax Zeile: 1
Ich bin mir nicht sicher, ob jemand auf diesen Fehler gestoßen ist und wie er behoben wurde, aber ich habe das Ende erreicht. Jede Hilfe wäre dankbar.
Ich muss auch erwähnen, dass dies der veröffentlichte Code ist, damit alles kompiliert wird. Kann etwas mit meinen Compilereinstellungen nicht stimmen?
quelle
Antworten:
Keine der anderen Antworten hat bei mir funktioniert. Ich habe meinen Fehler behoben, indem ich den Ausgabepfad des Webprojekts geändert habe. Ich hatte es auf bin \ debug gesetzt, aber das Webprojekt funktioniert nur, wenn der Ausgabepfad einfach auf "bin" gesetzt ist.
quelle
Ich habe das schon ein paar Mal gehabt. Es ist besonders frustrierend, da es auf Anhieb ist und die Fehlermeldung keinen Hinweis darauf enthält, was das Problem sein könnte.
Um dies zu beheben, klicken Sie rechts Ihren Projekttitel, in diesem Fall „TestMvcApplication“ und klicken Sie auf Build .
Dadurch wird der Code kompiliert, bevor Sie ihn ausführen. Fragen Sie mich nicht warum, aber dies war zu 100% die Lösung für mich.
quelle
Ich habe festgestellt, dass die IDE eine Reihe von Unterverzeichnissen unter dem Ordner bin für das Webprojekt erstellt, wenn Sie gezwungen sind, den Konfigurationsmanager zum Ausführen unter x86 oder anderen Einstellungen als den Standardeinstellungen des Projekts "out of the box" zu verwenden.
Sobald dies geschieht und der Cassini-Server ausgeführt wird, wird das Projekt nicht ordnungsgemäß ausgeführt.
Ich habe das Problem behoben, indem ich in den Eigenschaften des Webprojekts -> Einstellungen erstellen und den Ausgabepfad in bin \ geändert habe
Dann wieder aufbauen und alles funktioniert wie es sollte.
quelle
Nach einem langen, harten Blick bin ich hier auf das eigentliche Problem gestoßen.
Die Assemblys wurden durch den FTP-Client beschädigt, mit dem ich die Dateien in eine gehostete Umgebung hochgeladen habe.
Ich habe meinen FTP-Client geändert und alles funktioniert wie vorgesehen.
quelle
Ich hatte das gleiche Problem: Meins war, weil das Webprojekt ein Plattformziel von x86 hatte. Ich lief auf einem 64-Bit-Computer. Andere Projekte in der Lösung wurden auf 64-Bit festgelegt.
Um Ihre Einstellungen zu überprüfen, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften. Überprüfen Sie auf der Registerkarte Erstellen den Wert von "Plattformziel".
Überprüfen Sie auch die Build-Konfiguration Ihrer Lösung (Menü Build> Configuration Manager), um zu überprüfen, ob alle Ihre Projekte auf derselben Plattform erstellt werden.
Stellen Sie in beiden Fällen sicher, dass Sie die Einstellungen sowohl für den Debug- als auch für den Release-Modus überprüfen. Andernfalls funktioniert es auf Ihrem Computer, jedoch nicht, wenn Sie es bereitstellen!
quelle
Ich habe alle oben genannten Lösungen ausprobiert, aber kein Glück. Das Hinzufügen einer Zeile
<add assembly="*" />
zu web.config hat das Problem für mich behoben. (Sie können der entsprechenden .NET Framework-Version auch die Datei machine.config oder root web.config der entsprechenden .NET Framework-Version hinzufügen. Ich habe es nicht versucht.) Dank an den MS-Support für die Lösung.quelle
<assemblies><clear/>...
verhindern, dass Assemblyreferenzen von der übergeordneten Anwendung in einer verschachtelten IIS-Anwendung geerbt wurden.Ich hatte den gleichen Fehler. Ich habe viele Vorschläge von vielen Seiten ausprobiert, nur um herauszufinden, dass das Problem darin bestand, dass ich die Website auf die falsche Version von .Net eingestellt hatte
Egal wie viele Neukompilierungen oder Personen, die "Konfigurationsproblem" sagen, niemand hat darauf hingewiesen, dass die .net-Version überprüft werden muss.
quelle
IT passiert bei mir, wenn ich mein Projekt / meine Lösung umbenenne. Wechseln Sie im Windows Explorer zum Projektordner (verlassen Sie VS). Suchen und öffnen Sie die Datei Global (möglicherweise finden Sie 2 Dateien, öffnen Sie diese ohne die Erweiterung ".asax.cs") und bearbeiten Sie die Fehlerzeile mit dem richtigen Pfad. Viel Glück!
quelle
Vor ein paar Tagen hatte ich genau das gleiche Problem - soweit ich das beurteilen kann, handelte es sich um ein Problem mit einem 64-Bit-IIS, auf dem eine 32-Bit-Webanwendung ausgeführt wird. Wir haben unseren Produktionsserver auf 32-Bit geändert und dieses Problem ist verschwunden.
quelle
Stellen Sie sicher, dass Ihr Standard-Namespace in den Eigenschaften des Webprojekts mit dem Namespace in der Datei Global.asax.cs übereinstimmt. Ich hatte den Standard-Namespace geändert, um ihn zu einem Sub-Namespace zu machen. Durch erneutes Ändern wurde dieses Problem für mich behoben.
quelle
Der Vollständigkeit halber habe ich angegeben, was mein Problem war und wie ich es gelöst habe:
Wenn Sie mich mögen und httphandlers über web.config haben und Weiterleitungen von Ihrer global.asax.cs (möglicherweise in Session_Start ()) haben, wie in meinem Fall, erhalten Sie diesen Fehler, wenn in Ihrem Startprojekt keine Referenz definiert ist, auf die verwiesen wird das Ziel, auf das Ihr httphandler zeigt !! (aber Sie erhalten keine Build-Fehler, nur Laufzeitfehler)
So:
Prost.
quelle
Das einzige Mal, dass ich dies erlebt habe, war, als das MVC-Framework nicht auf dem Server installiert war. Könnte das der Fall sein?
Ein fehlender Seitenabschnitt in Views \ Web.config kann ebenfalls fehlerhaft sein.
quelle
Ich hatte den gleichen Fehler und keine Ihrer Lösungen hat geholfen. Ich denke, mein Problem war einfach der Name, den ich für das Projekt gewählt hatte. Ich hatte mein Projekt "Schnittstelle" genannt. Als ich den Analysefehler bekam, hieß es, dass es nicht geladen werden konnte:
Wo aus irgendeinem Grund ein @ -Zeichen stand. Ich vermute, das Wort 'Schnittstelle' ist für etwas anderes reserviert und es hat das @ -Symbol hinzugefügt, aber das hat offensichtlich etwas kaputt gemacht. Ich habe das Projekt gelöscht und ohne Probleme ein neues mit einem anderen Namen erstellt.
quelle
Hier ist ein anderes:
Ich hoffe das hilft irgendwo jemandem :)
quelle
Ich hatte viele Probleme und Fehler zu lösen, einige der oben genannten Antworten haben geholfen, aber der letzte Trick, der es für mich funktioniert hat, war: Gehen Sie zu Ihrem Projekt und klicken Sie auf Eigenschaften.
Wechseln Sie zur Registerkarte Paket / Web veröffentlichen, und stellen Sie sicher, dass die Konfiguration auf Freigeben und Plattform für alle Plattformen eingestellt ist.
Stellen Sie zuletzt sicher, dass "Zu implementierende Elemente (gilt für alle Bereitstellungsmethoden)" auf "Alle Dateien in diesem Projektordner" eingestellt ist.
Es hat dann gut für mich funktioniert.
quelle
Dieses Problem ist kompliziert, da es leicht ist, die Grundursache mit der unmittelbaren Ursache zu verwechseln.
In meinem Fall war die unmittelbare Ursache, dass die Lösung für die Verwendung von NuGet Package Restore konfiguriert ist, der Server jedoch nicht mit dem Internet verbunden war, sodass NuGet die Abhängigkeiten beim erstmaligen Erstellen nicht herunterladen konnte.
Ich glaube, die Hauptursache ist einfach, dass die Lösung Abhängigkeiten nicht richtig auflösen kann. Möglicherweise handelt es sich um eine falsche Pfadkonfiguration, eine falsche Version einer Assembly, widersprüchliche Assemblys oder eine teilweise Bereitstellung. In allen Fällen bedeutet der Fehler jedoch lediglich, dass der in global.asax angegebene Typ nicht gefunden werden kann, da er nicht erstellt werden kann.
quelle
Stellen Sie sicher, dass der Namespace in der
Global.asax
Datei mit dem in der übereinstimmtGlobal.cs
d. H.Global.asax:
Some.Website.Webapplication
Global.cs:
Some.Website
(abzüglich der 'WebApplication')quelle
Ich habe die meisten der oben genannten Antworten ausprobiert und sie haben nicht funktioniert. Aus irgendeinem Grund wurde das Problem durch einfaches Schließen und erneutes Öffnen von VS behoben.
quelle
Mein Problem wurde behoben, als ich in IIS den physischen Ordner, der die Dateien enthielt, in eine Anwendung konvertierte. Klicken Sie mit der rechten Maustaste> In Anwendung konvertieren.
quelle
Für mich lag es daran, dass ich die Datei vorübergehend aus dem Projekt ausgeschlossen hatte. Ich habe es lediglich wieder in das Projekt aufgenommen und dann hat es funktioniert.
quelle
In meinem Fall fehlte in meinem Projekt die Referenz von System.Web.MVC. Aber nach dem Hinzufügen von Referenzen war das Problem dasselbe, also überprüfte ich die Eigenschaften meines Bin-Ordners, es war ReadOnly. Kurz nachdem es beschreibbar gemacht wurde, funktioniert alles einwandfrei.
quelle
Ich habe einen Fehler erhalten, weil ich die Anwendung als virtuelles Verzeichnis bereitgestellt habe und den Parserfehler "Typ konnte nicht geladen werden" erhalten habe. Dann habe ich die Anwendung als Website bereitgestellt und diesen Fehler nicht erneut erhalten.
quelle
Keine der anderen Antworten hat diesen Fehler für mich behoben.
Ich habe eine Lösung gefunden, die funktioniert, die ich für diejenigen in der gleichen Situation vorschlage:
quelle
Ich bin nie wirklich auf den Grund gegangen, was es für mich verursacht hat. Ich denke, irgendwo muss ich einige Dateien vermisst haben. Ich habe den Fehler nach dem Veröffentlichen auf einem neuen Server erhalten. Schließlich habe ich die Site von der Arbeits-Site kopiert. Dann funktionierte die Site und veröffentlichte sie weiter auf dem neuen Server.
quelle
Folge diesen Schritten:
quelle
Für mich war eine DLL in meinem Projekt enthalten, die in einer 32-Bit-Umgebung ausgeführt werden musste.
Der Server wurde so konfiguriert, dass die Website im 32-Bit-Modus ausgeführt wird. Ich konnte die Anwendung jedoch nicht auf meinem 64-Bit-Computer
localhost
ausführen, da der Ordner nicht für die Ausführung im 32-Bit-Modus angegeben wurde.quelle
Ich hatte gerade ein ähnliches Problem.
Der Grund war, dass ich eine Datei.aspx.c änderte und eine saubere Neuerstellung durchführen musste. Danach hat alles geklappt.
quelle
Mein Problem war, dass ich versuchte, eine ASPX-Webanwendung in einem Unterordner eines Ordners zu erstellen, der bereits eine web.config-Datei hatte, und
Daher habe ich den übergeordneten Ordner in Visual Studio als Website geöffnet (Öffnen> Website). Ich konnte eine neue ASPX-Elementseite hinzufügen, bei der keine Probleme beim Parsen / Laden aufgetreten sind.
quelle
Für mich bestand das Problem nur bei bestimmten (langen) Links innerhalb der Website und wurde auf URLScan mit der Standardkonfiguration einer URL-Längenbeschränkung von 260 zurückgeführt.
quelle
Ich hatte das gleiche Problem. Versuchen zu:
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Bereinigen. Klicken Sie dann erneut mit der rechten Maustaste darauf und wählen Sie Neu erstellen und führen Sie das Projekt aus, um festzustellen, ob es funktioniert hat.
quelle