Precompilazione per la distribuzione
-
15-11-2019 - |
Domanda
Dopo aver esplorato la precompilazione per l'argomento di distribuzione, voglio migliorare il mio processo di costruzione. Ora, quello che faccio è:
- .
- Preparare il sito Web utilizzando il Web uno fai clic su Pubblicazione, ad esempio alla directory
c:\www\app
e tale directory è disponibile in IIS tramite app (localhost/app
) - lancio
aspnet_compiler.exe -v app c:\www\appprecompiled -f
Ora ho una domanda preconfezionata pronto in generazione
c:\www\appprecompiled
e tutto va bene. Tuttavia la mia applicazione è piuttosto grande, e la pubblicazione (passaggio 1) per circa 5 minuti da zero. Quindi mi chiedo se è possibile evitare il passaggio uno ed eseguire il passaggio 2 (precompilazione) con la cartella sorgente che punta alla cartella della soluzione. Ho provato qualcosa del genere:
.aspnet_compiler.exe -v codeapp c:\code\app -f
Dove
c:\code\app
è la cartella con i file Web.Config ecc, in pratica è un progetto con il sito Web e quella cartella è disponibile tramitehttp://localhost/codeapp
.Ma quando si avvia quel comando, ottengo errori sugli errori mancanti global.asax o web.config:
.
c: \ code \ app \ obj \ debug \ package \ packagetmp \ web.config (18): ERRORE ASPCONFIG: è un errore da utilizzare una sezione registrata come AllowDefinition= 'MachineToApplication' oltre il livello di applicazione. Questo errore può essere causato da una directory virtuale non essere configurato come un Applicazione in IIS.
E per il record, utilizzo l'applicazione, non la directory virtuale.
Quindi c'è un modo per eseguire la precompilation su una cartella del sito Web semplice?
Soluzione
I used
aspnet_compiler -p physicalOrRelativePath -v / targetPath
from http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx and removed obj folder prior to executing it, and precompilation works :)