Pagina Eventi di compilazione, Creazione progetti (C#)

Usare la pagina Eventi di compilazione di Creazione progetti per specificare le istruzioni di configurazione della build. È anche possibile specificare le condizioni in cui vengono eseguiti gli eventi di post-compilazione. Per altre informazioni, vedere Procedura: Specificare eventi di compilazione (C#) e Procedura: Specificare eventi di compilazione (Visual Basic).

Elenco degli elementi di interfaccia

Configurazione

Questo controllo non è modificabile in questa pagina. Per una descrizione di questo controllo, vedere Pagina Compilazione, Creazione progetti (C#).

Piattaforma

Questo controllo non è modificabile in questa pagina. Per una descrizione di questo controllo, vedere Pagina Compilazione, Creazione progetti (C#).

Riga di comando eventi pre-compilazione

Specifica i comandi da eseguire prima dell'avvio della compilazione. Per immettere comandi lunghi, fare clic su Modifica pre-compilazione per visualizzare la finestra di dialogo Riga di comando eventi pre-compilazione/post-compilazione.

Nota

Gli eventi di pre-compilazione non vengono eseguiti se il progetto è aggiornato e non viene attivata alcuna compilazione.

Riga di comando eventi post-compilazione

Specifica i comandi da eseguire dopo il completamento della compilazione. Per immettere comandi lunghi, fare clic su Modifica post-compilazione per visualizzare la finestra di dialogo Riga di comando eventi pre-compilazione/post-compilazione.

Nota

Aggiungere un'istruzione call prima di tutti gli eventi di compilazione che eseguono file con estensione BAT. Ad esempio, call C:\MyFile.bat o call C:\MyFile.bat call C:\MyFile2.bat.

Esegui evento post-compilazione

Specifica le condizioni seguenti per l'esecuzione dell'evento di post-compilazione, come illustrato in questa tabella.

Opzione Risultato
Sempre L'evento di post-compilazione verrà sempre eseguito, indipendentemente dall'esito della compilazione.
A compilazione completata L'evento di post-compilazione verrà eseguito se la compilazione avrà esito positivo. L'evento verrà quindi eseguito anche per un progetto aggiornato, purché la compilazione abbia esito positivo.
Quando la compilazione aggiorna l'output del progetto L'evento di post-compilazione verrà eseguito solo quando il file di output del compilatore (con estensione exe o dll) è diverso dal file di output del compilatore precedente. L'evento di post-compilazione non viene quindi eseguito se un progetto è aggiornato.

Nel file di progetto

Nelle versioni precedenti di Visual Studio, quando si modifica l'impostazione PreBuildEvent o PostBuildEvent nell'IDE, Visual Studio aggiunge una PreBuildEvent proprietà o PostBuildEvent al file di progetto. Ad esempio, se l'impostazione della riga di comando PreBuildEvent nell'IDE è la seguente:

"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"

quindi l'impostazione del file di progetto è:

<PropertyGroup>
    <PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>

Per i progetti .NET Core, Visual Studio 2019 (e Visual Studio 2017 negli aggiornamenti più recenti) aggiunge una destinazione MSBuild denominata PreBuild o PostBuild per le impostazioni PreBuildEvent e PostBuildEvent . Queste destinazioni usano gli attributi BeforeTargets e AfterTargets , riconosciuti da MSBuild. Ad esempio, per l'esempio precedente, Visual Studio genera ora il codice seguente:

<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="&quot;$(ProjectDir)PreBuildEvent.bat&quot; &quot;$(ProjectDir)..\&quot; &quot;$(ProjectDir)&quot; &quot;$(TargetDir)&quot;" />
</Target>

Per un evento post-compilazione, usare il nome PostBuild e impostare l'attributo AfterTargets su PostBuildEvent.

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
   <Exec Command="echo Output written to $(TargetDir)" />
</Target>

Nota

Queste modifiche ai file di progetto sono state apportate per supportare progetti in stile SDK. Se si esegue manualmente la migrazione di un file di progetto dal formato precedente al formato in stile SDK, è necessario eliminare le PreBuildEvent proprietà e PostBuildEvent e sostituirle con PreBuild e PostBuild destinazioni, come illustrato nel codice precedente. Per informazioni su come stabilire se il progetto è un progetto in stile SDK, vedere Controllare il formato del progetto.

Vedi anche