A volte quando si hanno molti progetti ASP.NET o quando sono necessarie delle azioni aggiuntive da fare dopo la pubblicazione di un’applicazione ASP.NET diventa molto comodo poter pubblicare un web project ASP.NET da linea di comando.
Utilizzando msbuild è possibile ottenere la stessa cosa che si otterrebbe facendo il publish da Visual Studio. L’esempio seguente utilizza msbuild del Framework 4.0 ed è quindi equivalente al Publish fatto da Visual Studio 2010 (indipendentemente se poi si utilizzi il Framework 4.0 o meno nel web project):
msbuild.exe" /t:Rebuild /p:OutDir=DEST_PATH\bin\;WebProjectOutputDir=DEST_PATH\;Configuration=Release;
UseWPP_CopyWebApplication=True; PipelineDependsOnBuild=False "PROJECT_SOURCE_PATH\joshProtocolWebAdmin.vbproj"
L’effetto del comando precedente è:
- Compilare le .DLL del progetto web nel path DEST_PATH\bin\
- Pubblicare il contenuto del progetto web (pagine ASPX, immagini, CSS, etc, etc) nel path DEST_PATH
- Compilare il progetto in Release applicando pre e post build events
- Applicare le web.config transformations se presenti
Unica nota: se avete dei path con degli spazi utilizzare i doppi apici classici, ma sostituire gli slash (‘\’) che normalmente si utilizzerebbero con i backslash (‘/’).