Vorkompilierte ASP.NET Web-Anwendung: Fehler „System.Web.HttpException Datei filename.aspx hat vorkompiliert nicht, und nicht angefordert werden kann.“

StackOverflow https://stackoverflow.com/questions/413221

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe ein Web-Deployment-Projekt mit der Vorlage für Visual Studio 2008 für eine ASP.NET 3.5 Web-Anwendung (nicht Website) erstellt.

ich das Projekt zusammengestellt, die die Dateien für die Bereitstellung benötigt erstellt. Ich kopierte die resultierenden Ordner (ist, statische Dateien und alle Ordner mit den aspx Platzhalter etc.) zu einem Staging-Server, auf das ich die Anwendung testen wollte.

Wenn I nicht Flagge die Option "Lassen Sie diese vorkompilierte Site aktualisierbar sein" , erhalte ich diese Fehlermeldung auf jeder Seite, die ich in dem Browser laden:

System.Web.HttpException file PAGENAME.aspx has not been pre-compiled, 
and cannot be requested.

die letzte Zeile in dem Stack-Trace:

System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(
  VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, 
  Boolean allowBuildInPrecompile) +8756366

Wenn ich die Option, alles ist in Ordnung (ich schätze, weil die tatsächliche aspx / ascx ist immer noch da in ihrer ursprünglichen Form).

Jede Idee, was ich hier fehlt? Gibt es eine Einstellung oder spezielle Datei, die ich vergessen zu kopieren?

Danke!

Weitere Informationen:

  • Ich habe ein paar Verweise auf Drittanbieter-Baugruppen
  • Ich habe den Ordner ist auf dem Staging-Server überprüft. Es enthält die vorkompilierte Baugruppe, die alle Klassen enthält (I verwendet Reflector die Baugruppe zu analysieren).
War es hilfreich?

Lösung

Alle ASPX-Dateien sollten nur enthalten

  

Dies ist eine Marker-Datei generiert durch   das Precompilieren Werkzeug und sollte   nicht gelöscht werden!

alles in Ihren bin-Ordnern löschen und das Web wieder veröffentlichen. Achten Sie darauf, nehmen Sie die Dateien aus dem Verzeichnis, in dem die Veröffentlichung hat.

Stellen Sie sicher, dass Sie die .compiled Dateien, die in dem Ordner ist zu kopieren.

Andere Tipps

Für das Protokoll, ich habe vergessen, diese ".compiled" Dateien ( MSDN-Dokumentation: Dateibehandlung bei der ASP.NET-Vorkompilierung ):

  

Für ausführbare Dateien in einer ASP.NET Web   Anwendung der Compiler-Baugruppen   und Dateien mit dem Dateinamen .compiled   Erweiterung. Der Montag Name ist   vom Compiler erzeugt wird. Das   COMPILED Datei enthält keine   ausführbarer Code. Stattdessen enthält es   nur die Informationen, die ASP.NET   muss die entsprechende finden   Montage.

     

Nach der vorkompilierte Anwendung ist   eingesetzt werden, verwendet ASP.NET die Baugruppen   im Ordner Bin Anforderungen zu verarbeiten.   Die Ausgabe enthält Precompilieren   aspx oder .asmx Dateien als Platzhalter   für Seiten. Die Platzhalter-Dateien   enthalten keinen Code. Sie existieren nur zu   bieten eine Möglichkeit, ASP.NET aufzurufen für eine   bestimmte Seite Anfrage und damit Datei   Berechtigungen können so eingestellt werden, beschränken   Zugriff auf die Seiten.

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