Compartir vía


Novedades de MSBuild 17

En este artículo se describen actualizaciones significativas en MSBuild 17.0. Para obtener las notas de la versión detalladas de cada versión, consulte las versiones de MSBuild.

MSBuild 17.0 se distribuye con Visual Studio 2022 y .NET 6.0 .

Ruta de acceso cambiada

MSBuild está instalado en la carpeta \Current de cada versión de Visual Studio, y los archivos ejecutables están en la subcarpeta \Bin. Por ejemplo, la ruta de acceso a MSBuild.exe instalada con Visual Studio 2022 Community es C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe También puede usar el siguiente módulo de PowerShell para buscar MSBuild: vssetup.powershell.

Propiedades modificadas

Las siguientes propiedades de MSBuild se han actualizado debido al nuevo número de versión.

  • MSBuildToolsVersion para esta versión de las herramientas sigue siendo "Current". La versión del ensamblado es la misma que en Visual Studio 2017 y Visual Studio 2019, que es 15.1.0.0.

  • VisualStudioVersion para esta versión de las herramientas es "17.0"

64 bits

MSBuild.exe anteriormente tenían versiones de 32 y 64 bits, pero ahora la versión de 64 bits es la predeterminada. Visual Studio 2022 usa la versión de 64 bits de MSBuild para todas las compilaciones. La versión de 32 bits sigue estando disponible, pero se recomienda cambiar todas las compilaciones a la versión de 64 bits.

En el caso de los propietarios de tareas, esto significa que cuando MSBuild carga la tarea, intentará cargarla en un proceso de 64 bits. Le recomendamos que considere la posibilidad de actualizar las tareas para que se ejecuten en un proceso de 64 bits, pero por compatibilidad, puede indicar a MSBuild que la tarea se ejecuta como solo de 32 bits en sus UsingTask.

Mejoras de rendimiento

MSBuild es más rápido. El enfoque de esta versión ha sido mejorar el rendimiento de muchos escenarios comunes. MSBuild 17.0 puede compilar proyectos más grandes, más rápido.

Versiones de .NET

MSBuild (y Visual Studio) ahora tiene como destino .NET Framework 4.7.2 y .NET 6.0. Si desea usar nuevas características de la API de MSBuild, el ensamblado también debe actualizarse, pero el código existente seguirá funcionando.

Registros

Los registros binarios son más pequeños y tienen más información.

En MSBuild 17.8 y versiones posteriores, pruebe la nueva opción Registrador de terminal (-terminalLogger o -tl en la línea de comandos) para mejorar la salida de la consola.

Cambios importantes

  • El método GetType() ya no se puede llamar en funciones de propiedad.
  • MSBuild para .NET tiene como destino .NET 6.

Otros cambios de comportamiento

  • MSBuildCopyContentTransitively ahora está activado de forma predeterminada, lo que garantiza la coherencia en las carpetas de salida en compilaciones incrementales.

Para obtener más cambios en esta versión, consulte las notas detalladas de la versión y los cambios en las versiones de MSBuild de las que puede optar por no participar, consulte las oleadas de cambios.