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.
Las técnicas de este artículo son útiles cuando desea personalizar todas las compilaciones que se ejecutan en un equipo específico, una máquina virtual o un contenedor. Por ejemplo, al configurar un servidor de compilación, es posible que tenga que configurar las opciones de MSBuild globalmente para todas las compilaciones en el servidor. En principio, podría modificar los archivos globales Microsoft.Common.Targets o Microsoft.Common.Props , pero hay una mejor manera. Puede afectar a todas las compilaciones de un tipo de proyecto determinado (como todos los proyectos de C#) mediante ciertas propiedades de MSBuild y agregando ciertos archivos personalizados .targets y .props.
Antes y después de los archivos estándar .props y .targets
Para afectar a todas las compilaciones de C# o Visual Basic reguladas por una instalación de MSBuild o Visual Studio, cree un archivo Custom.Before.Microsoft.Common.Targets o Custom.After.Microsoft.Common.Targets con destinos que se ejecutarán antes o después de Microsoft.Common.targets, o un archivo Custom.Before.Microsoft.Common.Props o Custom.After.Microsoft.Common.Props con propiedades que se procesarán antes o después de Microsoft.Common.props.
Puede especificar las ubicaciones de estos archivos mediante las siguientes propiedades de MSBuild:
- PersonalizadoAntesDeMicrosoftPropsComunes
- CustomBeforeMicrosoftCommonTargets
- CustomAfterMicrosoftCommonProps
- CustomAfterMicrosoftCommonTargets
- CustomBeforeMicrosoftCSharpTargets
- CustomBeforeMicrosoftVisualBasicTargets
- CustomAfterMicrosoftCSharpTargets
- CustomAfterMicrosoftVisualBasicTargets
Las versiones comunes de estas propiedades afectan a los proyectos de C# y Visual Basic. Puede establecer estas propiedades en la línea de comandos de MSBuild.
msbuild /p:CustomBeforeMicrosoftCommonTargets="C:\build\config\Custom.Before.Microsoft.Common.Targets" MyProject.csproj
Advertencia
Visual Studio usa los archivos .targets o .props personalizados si los encuentra en la carpeta de MSBuild cada vez que compila cualquier proyecto del tipo correspondiente. Esta personalización puede tener consecuencias imprevistas y, si se hace incorrectamente, puede deshabilitar la capacidad de Visual Studio de compilar en el equipo.
Reemplazar el archivo de propiedades comunes
También puede usar las propiedades AlternateCommonProps para especificar su propio .props archivo que se usará en lugar de Microsoft.Common.props. Si alguna vez sintió la necesidad de personalizar Microsoft.Common.props modificando directamente, podría copiar la versión estándar de ese archivo en otro archivo y, a continuación, realizar los cambios solo en la versión alternativa.
El mejor enfoque depende de su escenario. Con la extensibilidad de Visual Studio, puede personalizar el sistema de compilación y proporcionar un mecanismo para instalar y administrar las personalizaciones.
Si tiene un servidor de compilación dedicado y quiere asegurarse de que ciertos objetivos siempre se ejecuten en todas las compilaciones del tipo de proyecto adecuado que se ejecuten en ese servidor, entonces tiene sentido usar un archivo .targets o .props personalizado global. Si desea que los destinos personalizados solo se ejecuten cuando se apliquen determinadas condiciones, use otra ubicación de archivo y establezca la ruta de acceso a ese archivo estableciendo la propiedad de MSBuild adecuada en la línea de comandos de MSBuild solo cuando sea necesario.