Vorkompilierung für die Bereitstellung
-
15-11-2019 - |
Frage
Nachdem ich mich mit dem Thema „Vorkompilierung für die Bereitstellung“ befasst habe, möchte ich meinen Build-Prozess verbessern.Was ich jetzt mache, ist:
- Bereiten Sie eine Website beispielsweise mit Web One Click Publish vor
c:\www\app
Verzeichnis, und dieses Verzeichnis ist in IIS über die App verfügbar (localhost/app
) - Ich starte
aspnet_compiler.exe -v app c:\www\appprecompiled -f
Jetzt habe ich die vorkompilierte Anwendung fertig c:\www\appprecompiled
und alles ist in Ordnung.Allerdings ist meine Bewerbung recht umfangreich und die Veröffentlichung (Schritt 1) dauert von Grund auf etwa 5 Minuten.Daher frage ich mich, ob es möglich ist, Schritt eins zu vermeiden und Schritt 2 (Vorkompilierung) durchzuführen, wobei der Quellordner auf den Lösungsordner verweist.Ich habe so etwas versucht:
aspnet_compiler.exe -v codeapp c:\code\app -f
Wo c:\code\app
ist der Ordner mit den Dateien web.config usw., im Grunde handelt es sich um ein Projekt mit einer Website und dieser Ordner ist über verfügbar http://localhost/codeapp
.
Aber wenn ich diesen Befehl starte, erhalte ich Fehlermeldungen über fehlende global.asax- oder web.config-Fehler:
C:\code\app\obj\debug\package\packagetmp\web.config(18):Fehler ASPCONFIG:Es ist ein Fehler, einen Abschnitt zu verwenden, der als Zulassungsdefinition = 'machinetoApplication' über die Anwendungsstufe hinaus registriert ist.Dieser Fehler kann durch ein virtuelles Verzeichnis verursacht werden, das nicht als Anwendung in IIS konfiguriert wird.
Und fürs Protokoll: Ich verwende die Anwendung, nicht das virtuelle Verzeichnis.
Gibt es also eine Möglichkeit, eine Vorkompilierung für einen einfachen Website-Ordner durchzuführen?
Lösung
ich benutzte
ASPNET_COMPILER -P PHYSICALRORREATIVEMPATH -V / TARGEAMPATH
aus http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx und den obj-Ordner vor der Ausführung entfernt, und die Vorkompilierung funktioniert :)