Ich habe eine Antwort für meine eigenen Fragen, bezogen auf das Gesagte NoAlias. Ich las die beiden Links und fanden die folgende:
Vorkompilieren für die Bereitstellung Nur
Wenn Sie für die Bereitstellung vorkompilieren nur der Compiler Baugruppen aus praktisch allen ASP.NET Quelldateien erzeugt, die normalerweise kompiliert werden bei Laufzeit Dazu gehören Programmcode in Seiten, .cs und .vb Klassendateien, andere Codedateien und Ressourcendateien. Der Compiler entfernt alle Quellen und Markups von der Ausgabe. Im resultierenden Layout werden kompilierte Dateien für jede der ASPX-Dateien (mit der Erweiterung .compiled) generiert, die Zeiger auf die entsprechende Assembly für diese Seite enthalten. Um die -Website einschließlich des Seitenlayouts zu ändern, müssen Sie die ursprünglichen -Dateien ändern, die Website neu kompilieren und das Layout erneut bereitstellen. Die einzige Ausnahme ist die Website-Konfiguration; Sie können Änderungen an der Datei Web.config auf dem Produktionsserver vornehmen, ohne die Site neu kompilieren zu müssen. Diese Option bietet den höchsten Schutz für Ihre Seiten und die beste Leistung beim Start.
Vorkompilieren für die Bereitstellung und Aktualisierung
Wenn Sie für die Bereitstellung und Aktualisierung vorkompilieren, die Compiler Baugruppen aus allen Quellcode erzeugt (mit Ausnahme von Seitencode in Single-File-Seiten) und aus anderen Dateien, die normalerweise Baugruppen erzeugen wie Ressourcendateien. Der Compiler konvertiert ASPX-Dateien in einzelne Dateien, die das kompilierte CodeBehind-Modell verwenden, und kopiert sie in das Layout . Mit dieser Option können Sie nach dem Kompilieren die Änderungen an den ASP.NET-Webseiten in Ihrer Site auf beschränken. Für Beispiel können Sie die Anordnung der Steuerelemente, Farben, Schriftarten, und andere Erscheinungsaspekte von Seiten ändern. Sie können auch Steuerelemente wie hinzufügen, solange sie keine Ereignishandler oder anderen Code erfordern. Wenn die Site das erste Mal ausgeführt wird, führt ASP.NET eine weitere Kompilierung in Reihenfolge durch, um Ausgabe aus dem Markup zu erstellen. Hinweis
Eine vorkompilierte aktualisierbare Site lässt nicht zu, dass mehrere Seiten dieselbe CodeFile-Klasse referenzieren.
Ich hatte vor kurzem Änderungen an der Website 2 aspx Seiten enthalten, die die gleiche Codefile (das gleiche VB-Code im Hintergrund) verwiesen Jede Seite etwas andere HTML-Eigenschaften hatte, aber benötigt identisch CodeFiles haben, also für Meine zweite ASP-Seite Ich löschte die automatisch generierte VB-Code-Datei und referenzierte dann eine andere CodeFile im HTML.
Wie oben erwähnt, erlauben vorkompilierte aktualisierbare Sites nicht, dass mehrere Seiten auf dieselbe Code-Dateiklasse verweisen. Aus diesem Grund funktionierten einige meiner Seiten nicht.
Ab diesem Zeitpunkt muss ich das Standard-Kontrollkästchen "Erlaube, dass diese vorkompilierte Site aktualisierbar ist" vermeiden; Es muss für meine Website deaktiviert bleiben, um die VB CodeFiles zu verwenden, die auf meine verschiedenen Seiten verweisen.
Fazit: Mehrere Aspx-Seiten, die auf dieselbe CodeFile verweisen, müssen vorkompiliert werden, damit sie korrekt ausgeführt werden können. Dies bedeutet, dass auf der Website keine Änderungen vorgenommen werden können, ohne dass Änderungen vorgenommen werden müssen.