Specificare gli eventi di compilazione personalizzati in Visual Studio

Visual Studio consente di specificare comandi di compilazione personalizzati da eseguire automaticamente prima dell'avvio di una compilazione o dopo il completamento. È possibile creare comandi per eseguire un file .bat prima dell'avvio di una compilazione o copiare nuovi file in una cartella al termine della compilazione. Gli eventi di compilazione personalizzati vengono eseguiti solo quando la compilazione raggiunge correttamente il punto pertinente nel processo di compilazione.

Questo articolo offre una panoramica della sintassi consigliata per i comandi di compilazione personalizzati. Per informazioni su un linguaggio di programmazione specifico, vedere Visual Basic, C# e F# e Visual C++.

Suggerimento

Per aggiungere operazioni complesse al processo di compilazione, esplorare le tecniche di personalizzazione di MSBuild. Ad esempio, è possibile aggiungere eventi di compilazione per generare file di codice e gestire correttamente la pulizia dopo un'operazione clean o eseguire l'attività solo quando gli input non sono aggiornati.

Sintassi per i comandi di compilazione personalizzati

I comandi di compilazione seguono la stessa sintassi dei comandi del prompt dei comandi di Windows ed è possibile usare macro per creare facilmente gli eventi. Per un elenco delle macro disponibili, vedere Finestra di dialogo della riga di comando dell'evento di precompilazione e post-compilazione.

Per ottenere risultati ottimali, seguire questi suggerimenti di formattazione:

  • Aggiungere un'callistruzione prima di tutti gli eventi di compilazione che eseguono file con estensione .bat.

    Esempio: call C:\MyFile.bat

    Esempio: call C:\MyFile.bat call C:\MyFile2.bat

  • Racchiudere tra virgolette i percorsi dei file.

    Esempio: "%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" -if "$(TargetPath)"

  • Separare più comandi usando le interruzioni di riga.

  • Includere i caratteri jolly, se necessario.

    Esempio: for %I in (*.txt *.doc *.html) do copy %I c:\<Directory>\

    Nota

    Per uno script batch, sostituire la variabile %I in questo esempio con %%I.