Frage

Ich verwende eine vorkompilierte ASP.NET 2.0-Site (dh mit der Funktion "Build-> Publish-Website" in Visual Studio 2005 auf den Server kopiert). Ich fange und protokolliere alle Fehler, die normalerweise ziemlich detailliert sind, aber in letzter Zeit habe ich den folgenden Fehler ohne andere Informationen erhalten:

Konnte die Baugruppe 'App-Web-rp2eml-j' nicht laden. Stellen Sie sicher, dass es vor dem Zugriff auf die Seite kompiliert wird.

Nun, diese "App-Web-rp2eml-j" -Datei sollte sein Eine DLL in meinem Bin-Ordner, der für die vorbereitete Site erstellt wurde. Meine Hauptfrage ist,, Wie sage ich, was die ASPX -Seite nach dieser DLL sucht? Ich habe versucht, die Website erneut zu veröffentlichen und die Website sogar vollständig auszulöschen und erneut zu veröffentlichen, aber das Problem verschwindet nicht.

Beim Googeln des Problems konzentrieren sich die meisten Antworten zu dieser Fehlermeldung um die Verwendung von IIS, um ASP.NET 2.0 anstelle von 1.1 zu verwenden. Das ist nicht mein Problem.

Anmerkung 1: Die Website scheint zu funktionieren, aber offensichtlich gibt es (zumindest) eine Seite, die gebrochen ist, die ich nicht finden kann.

Anmerkung 2: Der obige Dateiname sollte unterstrichen, anstelle von Strichen, aber das Markup ändert den Text zwischen den Unterstrichen in Kursivschrift.

War es hilfreich?

Lösung

Gibt es die erwähnte DLL in Ihrem Bin -Verzeichnis? Sie haben diesen Teil kursiv gemacht, also vermute ich, dass dies nicht der Fall ist. Dies könnte bedeuten, dass sich der Fehler auf eine DLL im Ordner Temporary Dateien bezieht.

Dieses Problem kann auftreten, wenn einer oder mehrere der DLLs im Ordner Temporary Dateien in ASP.NET beschädigt sind. Manchmal aktualisiert ASP.NET hier keine Dateien, wenn sich in der DLL im virtuellen Verzeichnis keine Änderungen in der DLL enthält. Es passiert hin und wieder auf meinem Server.

Meine Lösung lautet wie folgt:

  1. Stoppen Sie die IIS -Dienste auf dem Server für eine Minute oder so.

  2. Navigieren Sie zum Ordner ASP.NET Temporary Dateien (normalerweise unter "%Windir% microsoft.net Framework Temporary ASP.NET -Dateien MyApplicationName") und löschen Sie alle Dateien im Ordner.

  3. Veröffentlichen und laden Sie meine Website in das konfigurierte virtuelle Verzeichnis.

  4. Starten Sie IIS und andere Dienste neu.

Dieser einfache 4-Stufen-Prozess hat in der Vergangenheit für mich sehr gut funktioniert und kann einen Versuch für Sie wert sein.

Um Ihre grundlegende Frage zu beantworten, gibt es jedoch zwei Möglichkeiten, um eine DLL zu "umkehren":

  1. Laden Sie es in iLildasm und überprüfen Sie die enthaltenen Klassen.
  2. Verwenden Sie Reflektor, um alle Klassendateien in der DLL in einem Ordner zu speichern.

Ich bezweifle jedoch, dass dies Ihr Problem lösen wird, da jede DLL viele Klassendateien enthalten könnte und Sie keine Ahnung haben, welche ASPX -Seite nach dieser DLL sucht ".

Andere Tipps

Vielleicht können Sie detailliertere Informationen über den Fehler mit dem global.asax event application_onEerror aufnehmen, damit Sie die Stack Trace ansehen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top