MSBuild 15의 새로운 기능
MSBuild는 현재 .NET Core SDK의 일부로 제공되며 Windows, macOS 및 Linux에서 .NET Core 프로젝트를 빌드할 수 있습니다.
변경된 경로
MSBuild는 이제 각 Visual Studio 버전 아래의 폴더에 설치됩니다. 예: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild. 또한 다음 PowerShell 모듈을 사용하여 MSBuild를 찾을 수도 있습니다. vssetup.powershell.
MSBuild는 전역 어셈블리 캐시에 더 이상 설치되지 않습니다. MSBuild를 프로그래밍 방식으로 참조하려면 NuGet 패키지를 사용하세요. 자세한 내용은 MSBuild 15.0에 대한 기존 애플리케이션 업데이트를 참조하세요.
변경된 속성
다음 MSBuild 속성은 새 버전 번호의 결과로 업데이트되었습니다.
이 도구 버전의
MSBuildToolsVersion
은 15.0입니다. 어셈블리 버전은 15.1.0.0입니다.MSBuildToolsPath
는 더 이상 고정된 위치를 포함하지 않습니다. 기본적으로 Visual Studio 설치 위치를 기준으로 MSBuild\15.0\Bin 폴더에 있지만 Visual Studio 설치 위치는 설치 시 변경할 수 있습니다.ToolsVersion
값은 더 이상 레지스트리에 설정되지 않습니다.SDK35ToolsPath
및SDK40ToolsPath
속성은 이 버전의 Visual Studio(예: 4.X 도구의 10.0A)를 사용하여 패키지된 .NET Framework SDK를 가리킵니다.
업데이트
- Project 요소는 새
SDK
특성을 포함합니다. 이제Xmlns
특성도 선택 사항입니다.SDK
특성에 대한 자세한 내용은 방법: MSBuild 프로젝트 SDK 사용, 패키지, 메타패키지, 프레임워크 및 .NET Core용 csproj 형식에 대한 추가 사항을 참조하세요. - 대상 외부의 Item 요소는 새
Update
특성을 포함합니다. 또한Remove
특성 대한 제한 사항도 제거되었습니다. - Directory.Build.props 및 Directory.Build.targets는 디렉터리 아래의 프로젝트에 사용자 지정을 제공하는 사용자 정의 파일입니다.
ImportDirectoryBuildProps
속성을false
로 설정한 경우가 아니면 Directory.Build.props는 Microsoft.Common.props에서 자동으로 가져옵니다.ImportDirectoryBuildTargets
속성을false
로 설정한 경우가 아니면 Directory.Build.targets는 Microsoft.Common.targets가 자동으로 가져옵니다. - 현재 특성 목록과 충돌하지 않는 이름을 가진 메타데이터를 특성으로 선택적으로 표시할 수 있습니다. 자세한 내용은 Item 요소를 참조하세요.
새 속성 함수
EnsureTrailingSlash
는 경로에 후행 슬래시(없는 경우)를 추가합니다.NormalizePath
는 path 요소를 결합하고 출력 문자열에 현재 운영 체제에 대한 정확한 디렉터리 구분 문자가 있는지 확인합니다.NormalizeDirectory
는 path 요소를 결합하고 후행 슬래시를 확인하며 출력 문자열에 현재 운영 체제에 대한 정확한 디렉터리 구분 문자가 있는지 확인합니다.GetPathOfFileAbove
는 바로 앞에 오는 파일의 경로를 반환합니다.<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
를 호출하는 것과 기능적으로 동일합니다.
관련 콘텐츠
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기