Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Esta página se aplica a Visual Studio 2019. Si usa Visual Studio 2022, el diseñador de proyectos para .NET Core y .NET 5 y proyectos posteriores es bastante diferente. Consulte Especificar eventos de compilación (C#).
Use la página Eventos de compilación del Diseñador de proyectos para especificar las instrucciones de configuración de compilación. También puede especificar las condiciones en las que se ejecutan los eventos posteriores a la compilación. Para obtener más información, vea Cómo: Especificar eventos de compilación (C#) y Cómo: Especificar eventos de compilación (Visual Basic).
Lista de UIElement
Configuración
Este control no se puede editar en esta página. Para obtener una descripción de este control, vea Build Page, Project Designer (C#).
Plataforma
Este control no se puede editar en esta página. Para obtener una descripción de este control, vea Build Page, Project Designer (C#).
Línea de comandos del evento anterior a la compilación
Especifica los comandos que se van a ejecutar antes de que se inicie la compilación. Para escribir comandos largos, haga clic en Editar compilación previa para mostrar el cuadro de diálogo Pre-build Event/Post-build Event Command Line (Línea de comandos del evento anterior a la compilación).
Nota:
Los eventos anteriores a la compilación no se ejecutan si el proyecto está actualizado y no se desencadena ninguna compilación.
Línea de comandos del evento posterior a la compilación
Especifica los comandos que se van a ejecutar después de que finalice la compilación. Para escribir comandos largos, haga clic en Editar posterior a la compilación para mostrar el cuadro de diálogo Pre-build Event/Post-build Event Command Line (Línea de comandos del evento posterior a la compilación).
Nota:
Agregue una call
instrucción antes de todos los comandos posteriores a la compilación que ejecutan .bat
archivos. Por ejemplo, call C:\MyFile.bat
o call C:\MyFile.bat call C:\MyFile2.bat
.
Ejecución del evento posterior a la compilación
Especifica las condiciones siguientes para que se ejecute el evento posterior a la compilación, como se muestra en la tabla siguiente.
Opción | Resultado |
---|---|
siempre | El evento posterior a la compilación se ejecuta independientemente de si la compilación se realiza correctamente. |
Si la compilación se ha realizado correctamente | El evento posterior a la compilación se ejecuta si la compilación se realiza correctamente. Por lo tanto, el evento se ejecuta incluso para un proyecto que es up-to-date, siempre y cuando la compilación se realice correctamente. |
Cuando la compilación actualiza la salida del proyecto | El evento posterior a la compilación solo se ejecuta cuando el archivo de salida del compilador (.exe o .dll ) es diferente del archivo de salida del compilador anterior. Por lo tanto, un evento posterior a la compilación no se ejecuta si un proyecto está up-to-date. |
En el archivo del proyecto
En versiones anteriores de Visual Studio, al cambiar la configuración PreBuildEvent o PostBuildEvent en el IDE, Visual Studio agrega una PreBuildEvent
propiedad o PostBuildEvent
al archivo de proyecto. Por ejemplo, si la configuración de la línea de comandos preBuildEvent en el IDE es la siguiente:
"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"
a continuación, la configuración del archivo de proyecto es:
<PropertyGroup>
<PreBuildEvent>"$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)" />
</PropertyGroup>
En el caso de los proyectos de .NET Core, Visual Studio agrega un destino de MSBuild denominado PreBuild
o PostBuild
para la configuración de PreBuildEvent y PostBuildEvent . Estos destinos usan los atributos BeforeTargets y AfterTargets , que MSBuild reconoce. Por ejemplo, para el ejemplo anterior, Visual Studio ahora genera el código siguiente:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command=""$(ProjectDir)PreBuildEvent.bat" "$(ProjectDir)..\" "$(ProjectDir)" "$(TargetDir)"" />
</Target>
Para un evento posterior a la compilación, use el nombre PostBuild
y establezca el atributo AfterTargets
PostBuildEvent
en .
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="echo Output written to $(TargetDir)" />
</Target>
Nota:
Estos cambios en el archivo de proyecto se realizaron para admitir proyectos de estilo SDK. Si va a migrar manualmente un archivo de proyecto del formato antiguo al formato de estilo SDK, debe eliminar las PreBuildEvent
propiedades y PostBuildEvent
y reemplazarlas por PreBuild
y PostBuild
destinos, como se muestra en el código anterior. Para averiguar cómo saber si el proyecto es un proyecto de estilo SDK, consulte Comprobación del formato del proyecto.