다음을 통해 공유


MSBuild 17의 새로운 기능

이 문서에서는 MSBuild 17.0의 중요한 업데이트에 대해 설명합니다. 각 버전에 대한 자세한 릴리스 정보는 msBuild 릴리스 참조하세요.

MSBuild 17.0은 Visual Studio 2022.NET 6.0함께 제공됩니다.

변경된 경로

MSBuild는 각 버전의 Visual Studio에서 \Current 폴더에 설치되며 실행 파일은 \Bin 하위 폴더에 있습니다. 예를 들어 Visual Studio 2022 Community와 함께 설치된 MSBuild.exe 경로는 C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe 다음 PowerShell 모듈을 사용하여 MSBuild: vssetup.powershell찾을 수도 있습니다.

변경된 속성

새 버전 번호로 인해 다음 MSBuild 속성이 업데이트되었습니다.

  • 이 버전의 도구에 대한 MSBuildToolsVersion "현재"로 유지됩니다. 어셈블리 버전은 Visual Studio 2017 및 Visual Studio 2019에서와 동일하며 15.1.0.0입니다.

  • 이 버전의 도구에 대한 VisualStudioVersion "17.0"입니다.

64비트

MSBuild.exe 이전에는 32비트 및 64비트 버전이 모두 있었지만 지금은 64비트 버전이 기본값입니다. Visual Studio 2022는 모든 빌드에 64비트 버전의 MSBuild를 사용합니다. 32비트 버전은 여전히 사용할 수 있지만 모든 빌드를 64비트 버전으로 전환하는 것이 좋습니다.

즉, 작업 소유자의 경우 MSBuild가 작업을 로드할 때 64비트 프로세스에서 로드하려고 합니다. 64비트 프로세스에서 실행되도록 작업을 업데이트하는 것이 좋지만 호환성을 위해 작업이 UsingTask32비트로만 실행된다는 것을 MSBuild에 알릴 수 있습니다.

성능 향상

MSBuild가 더 빠릅니다! 이 릴리스의 초점은 많은 일반적인 시나리오에 대한 성능을 향상시키는 것이었습니다. MSBuild 17.0은 더 큰 프로젝트를 더 빠르게 빌드할 수 있습니다.

.NET 버전

MSBuild(및 Visual Studio)는 이제 .NET Framework 4.7.2 및 .NET 6.0을 대상으로 합니다. 새 MSBuild API 기능을 사용하려면 어셈블리도 업그레이드해야 하지만 기존 코드는 계속 작동합니다.

로그

이진 로그는 더 작고 자세한 정보를 제공합니다.

MSBuild 17.8 이상에서는 향상된 콘솔 출력을 위해 새 터미널 로거(명령줄의-terminalLogger 또는 -tl 옵션)를 사용해 보세요.

중대한 변경 사항

  • GetType() 메서드는 더 이상 속성 함수에서 호출할 수 없습니다.
  • .NET용 MSBuild는 .NET 6을 대상으로 합니다.

기타 동작 변경

  • 이제 MSBuildCopyContentTransitively 기본적으로 설정되므로 증분 빌드의 출력 폴더에서 일관성을 유지합니다.

이 버전의 자세한 변경 내용은 자세한 릴리스 정보를 참조하고, 옵트아웃할 수 있는 MSBuild 버전의 변경 내용은 변경 웨이브 를 참조하세요.