이 작업을 사용하여 MSBuild를 빌드하고 Visual Studio 버전 속성을 설정합니다. Azure Visual Studio 이미지를 설치하는 방법에 대해 자세히 알아봅니다.
팁 (조언)
이 작업을 수행하기 전에 파이프라인에서 NuGetAuthenticate@1 사용합니다. 자세한 내용은 빌드 파이프라인이 실패하고 SSO(Single Sign-On) 인증을 요청하는 이유는 무엇입니까?를 참조하세요.
구문론
# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
inputs:
solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
#vsVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
#msbuildArgs: # string. MSBuild Arguments.
#platform: # string. Platform.
#configuration: # string. Configuration.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
#logProjectEvents: true # boolean. Record Project Details. Default: true.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
#enableDefaultLogger: true # boolean. Enable Default Logger. Default: true.
#customVersion: # string. Custom Version.
# Visual Studio build v1
# Build with MSBuild and set the Visual Studio version property.
- task: VSBuild@1
inputs:
solution: '**\*.sln' # string. Required. Solution. Default: **\*.sln.
#vsVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '11.0'. Visual Studio Version. Default: latest.
#msbuildArgs: # string. MSBuild Arguments.
#platform: # string. Platform.
#configuration: # string. Configuration.
#clean: false # boolean. Clean. Default: false.
# Advanced
#maximumCpuCount: false # boolean. Build in Parallel. Default: false.
#restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
#msbuildArchitecture: 'x86' # 'x86' | 'x64'. MSBuild Architecture. Default: x86.
#logProjectEvents: true # boolean. Record Project Details. Default: true.
#createLogFile: false # boolean. Create Log File. Default: false.
#logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
입력
solution
-
솔루션
string
; 필수 사항입니다. 기본값은 **\*.sln
입니다.
빌드 프로세스에서 사용할 작업에 대한 솔루션을 지정합니다.
단일 솔루션을 빌드하려면 ... 단추를 클릭하고 솔루션을 지정합니다.
여러 솔루션을 빌드하려면 검색 조건을 지정합니다. 단일 폴더 와일드카드(*
) 및 재귀 와일드카드(**
)를 사용할 수 있습니다. 예를 들어 **.sln
모든 하위 디렉터리의 모든 .sln 파일을 검색합니다.
지정한 솔루션이 이 빌드 파이프라인에서 다운로드되었는지 확인합니다. 리포지토리 탭에서 다음을 수행합니다.
- TFVC를 사용하는 경우 솔루션이 리포지토리 탭의 매핑 중 하나의 자식인지 확인합니다.
- Git을 사용하는 경우 프로젝트 또는 솔루션이 Git 리포지토리 및 빌드 중인 분기에 있는지 확인합니다.
팁 (조언)
- MSBuild 프로젝트(.*proj) 파일을 빌드할 수도 있습니다.
- 사용자 지정된 MSBuild 프로젝트 파일을 빌드하는 경우 Visual Studio 빌드 작업 대신 MSBuild 작업을 사용하는 것이 좋습니다.
MSBuild와 Visual Studio 빌드의 차이점에 대한 자세한 내용은 Visual Studio 빌드와 MSBuild.exe 빌드를 참조하세요.
Visual Studio 버전vsVersion
-
string
; 허용되는 값은 latest
, 17.0
(Visual Studio 2022), 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), 12.0
(Visual Studio 2013), 11.0
(Visual Studio 2012)입니다. 기본값은 latest
입니다.
이 입력의 값은 솔루션을 만드는 데 사용되는 Visual Studio 버전과 일치해야 합니다.
빌드에서 실행하는 MSBuild 명령에 /p:VisualStudioVersion={numeric_visual_studio_version}
인수를 추가합니다. 예를 들어 Visual Studio 2015 지정하면 MSBuild 명령에 /p:VisualStudioVersion=14.0
추가됩니다.
azure Pipelines : 팀에서 Microsoft 호스팅 에이전트와 함께 Visual Studio를 사용하려는 경우 windows-latest 기본 빌드 풀로 선택합니다. Microsoft 호스팅 에이전트 참조하세요.
Visual Studio 버전vsVersion
-
string
; 허용되는 값은 latest
, 16.0
(Visual Studio 2019), 15.0
(Visual Studio 2017), 14.0
(Visual Studio 2015), 12.0
(Visual Studio 2013), 11.0
(Visual Studio 2012)입니다. 기본값은 latest
입니다.
이 입력의 값은 솔루션을 만드는 데 사용되는 Visual Studio 버전과 일치해야 합니다.
빌드에서 실행하는 MSBuild 명령에 /p:VisualStudioVersion={numeric_visual_studio_version}
인수를 추가합니다. 예를 들어 Visual Studio 2015 지정하면 MSBuild 명령에 /p:VisualStudioVersion=14.0
추가됩니다.
azure Pipelines : 팀에서 Microsoft 호스팅 에이전트와 함께 Visual Studio를 사용하려는 경우 windows-latest 기본 빌드 풀로 선택합니다. Microsoft 호스팅 에이전트 참조하세요.
platform
-
플랫폼
string
;
빌드하려는 플랫폼(예: Win32
, x86
, x64
또는 any cpu
지정합니다.
팁 (조언)
- 솔루션 대신 MSBuild 프로젝트(.*proj) 파일을 대상으로 하는 경우
AnyCPU
지정합니다(공백 없음). - 변수 탭에서
BuildPlatform
같은 빌드 변수를 선언하고(큐 시간에 허용 선택) 여기에서$(BuildPlatform)
참조합니다. 이렇게 하면 빌드를 큐에 대기할 때 플랫폼을 수정하고 여러 구성을 빌드할 수 있습니다.
configuration
-
구성
string
;
빌드하려는 구성(예: debug
또는 release
)을 지정합니다.
팁 (조언)
변수 탭에서 BuildConfiguration
같은 빌드 변수를 선언하고(큐 시간에 허용 선택) 여기에서 $(BuildConfiguration)
참조합니다. 이렇게 하면 빌드를 큐에 대기할 때 플랫폼을 수정하고 여러 구성을 빌드할 수 있습니다.
clean
-
정리
boolean
; 기본값은 false
입니다.
false
설정하면 태스크가 증분 빌드를 수행합니다. 이 설정은 특히 코드베이스가 큰 경우 빌드 시간을 줄일 수 있습니다. 이 옵션은 정리 리포지토리를 false
설정하지 않는 한 실제로 효과가 없습니다.
true
설정하면 태스크는 코드 프로젝트의 모든 코드를 다시 빌드합니다. 이는 MSBuild /target:clean
인수와 동일합니다.
병렬빌드 maximumCpuCount
-
boolean
; 기본값은 false
입니다.
선택 사항. MSBuild 대상 구성이 빌드와 병렬로 호환되는 경우 이 입력을 확인하여 msBuild에 /m
스위치를 전달할 수 있습니다(Windows에만 해당). 대상 구성이 빌드와 병렬로 호환되지 않는 경우 이 옵션을 선택하면 빌드에서 사용 중인 파일 오류가 발생하거나 간헐적이거나 일관되지 않은 빌드 오류가 발생할 수 있습니다.
NuGet 패키지복원 restoreNugetPackages
-
boolean
; 기본값은 false
입니다.
이 입력은 더 이상 사용되지 않습니다. NuGet 패키지를 복원하려면 빌드 전에 NuGet 도구 설치 관리자 작업을 추가합니다.
MSBuild 아키텍처msbuildArchitecture
-
string
; 허용되는 값: x86
(MSBuild x86), x64
(MSBuild x64). 기본값은 x86
입니다.
선택 사항. 실행할 MSBuild의 아키텍처(x86
또는 x64
)를 제공합니다.
팁 (조언)
Visual Studio는 32비트 애플리케이션으로 실행되므로 64비트 버전의 Team Foundation Build Service를 실행하는 빌드 에이전트에서 빌드를 처리할 때 문제가 발생할 수 있습니다. MSBuild x86
선택하면 이러한 문제를 해결할 수 있습니다.
logProjectEvents
-
레코드 프로젝트 세부 정보
boolean
; 기본값은 true
입니다.
선택 사항. 각 프로젝트에 대한 타임라인 세부 정보를 기록합니다.
로그 파일만들기 createLogFile
-
boolean
; 기본값은 false
입니다.
선택 사항. 로그 파일을 만듭니다(Windows에만 해당).
로그 파일 세부 정보 표시logFileVerbosity
-
string
; 선택 사항.
createLogFile = true
때 사용합니다. 허용되는 값: quiet
, minimal
, normal
, detailed
, diagnostic
. 기본값은 normal
입니다.
로그 파일의 세부 정보 표시 수준을 지정합니다.
enableDefaultLogger
-
기본 로거 사용
boolean
; 기본값은 true
입니다.
true
설정하면 MSBuild에 대한 기본 로거를 사용하도록 설정합니다.
사용자 지정 버전
string
;
Visual Studio의 사용자 지정 버전을 설정합니다. 예: 15.0
, 16.0
, 17.0
. 필요한 버전의 Visual Studio를 시스템에 설치해야 합니다.
Azure Pipelines: 팀에서 Microsoft 호스팅 에이전트와 함께 Visual Studio 2022를 사용하려는 경우 기본 빌드 풀로 windows-2022
선택합니다. 자세한 내용은 Microsoft 호스팅 에이전트 참조하세요.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.
출력 변수
없음.
비고
빌드 파이프라인이 실패하고 SSO(Single Sign-On) 인증을 묻는 메시지가 표시되는 이유는 무엇인가요?
자격 증명이 만료된 경우 빌드가 실패할 수 있습니다. 이러한 오류를 방지하려면 NuGet Authenticate 작업을 사용하여 자격 증명 공급자를 다시 설치하고 자격 증명을 자동으로 새로 고치는 것이 좋습니다. 이렇게 하면 파이프라인 실행 중에 중단 없는 액세스가 보장됩니다.
steps:
# Authenticate with NuGet to ensure credentials are refreshed
- task: NuGetAuthenticate@1
# Build the solution using VSBuild
- task: VSBuild@1
inputs:
solution: '**/*.sln'
Azure Visual Studio 이미지를 설치하는 방법에 대해 자세히 알아봅니다.
중요합니다
이 작업은 Windows를 실행하는 에이전트에서만 지원됩니다.