표준 및 사용자 지정 도구 집합 구성
MSBuild 도구 작업, 대상 및 응용 프로그램 프로젝트를 만드는 데 사용할 수 있는 도구를 포함 합니다.표준 도구 집합에서 MSBuild 포함 되지만 사용자 지정 도구 집합을 만들 수도 있습니다.도구 집합을 지정 하는 방법에 대 한 내용은 참조 하십시오.MSBuild 도구 집합(ToolsVersion)
표준 도구 집합 구성
MSBuild4.5에는 다음과 같은 표준 도구 집합이 포함 되어 있습니다.
ToolsVersion |
도구 경로 (MSBuildToolsPath 또는 MSBuildBinPath 빌드 속성에 지정된) |
---|---|
2.0 |
Windows 설치 경로가\Microsoft.Net\Framework\v2.0.50727\ |
3.5 |
Windows 설치 경로가\Microsoft.NET\Framework\v3.5.20223\ |
4.0 |
Windows 설치 경로가\Microsoft.NET\Framework\v4.0.30319\ |
ToolsVersion 값을 결정 하는 도구 집합을 사용 하 여 Visual Studio 생성 하는 프로젝트입니다.지정은 ToolsVersion 특성으로는 프로젝트 프로젝트 파일의 요소를 사용 하 여 해당 특성이 재정의할 수 있습니다의 /toolsversion 전환 명령 프롬프트.이 특성,이 스위치를 지정 하는 다른 방법에 대 한 정보는 ToolsVersion을 참조 하십시오 ToolsVersion 설정 재정의.
경우는 ToolsVersion 지정 되지 않은 경우 다음에 키를 정의 된 ToolsVersion.
레지스트리 하이브 |
키 이름 |
문자열 키 값 |
---|---|---|
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\ |
DefaultToolsVersion |
2.0 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0\ |
DefaultToolsVersion |
2.0 |
다음 레지스트리 키 각에 관련 된.NET Framework 버전의 설치 경로 지정 합니다. ToolsVersion.또한 설치 경로 MSBuild.exe 도구 집합 정보를 정의의 위치를 지정 합니다.
레지스트리 하이브 |
키 이름 |
문자열 키 값 |
---|---|---|
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\ |
MSBuildToolsPath |
.NET Framework 2.0 설치 경로 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\ |
MSBuildToolsPath |
.NET Framework 3.5 설치 경로 |
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\ |
MSBuildToolsPath |
.NET Framework 4 설치 경로 |
하위 도구 집합
이전 테이블의 레지스트리 키에 하위 키가 있으면 Msbuild의 더 많은 도구를 포함 하는 하위 도구 경로 확인을 사용 합니다.다음 하위 키의 예를 들면 다음과 같습니다.
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0
VisualStudioVersion 빌드 속성 하위 도구 집합 활성화 여부를 나타냅니다.예를 들어 있는 VisualStudioVersion "11.0" 값 4.5.NET Framework sub 도구 집합을 지정 합니다.자세한 내용은 하위 도구 섹션의 MSBuild 도구 집합(ToolsVersion).
[!참고]
이러한 설정을 변경 하지 않는 것이 좋습니다.그럼에도 불구 하 고 사용자 고유의 설정을 추가 하 고 섹션의 설명에 따라 컴퓨터 전체 사용자 지정 도구 집합 정의 정의할 수 있습니다.
사용자 지정 도구 집합 정의
표준 도구 집합에서 빌드 요구 사항을 충족하지 않는 경우 사용자 지정 도구 집합을 만들 수 있습니다.별도 시스템 구축에 대 한 있어야 합니다 빌드 랩 시나리오를 있을 수 있습니다 예를 들어, Visual C++ 프로젝트입니다.사용자 지정 도구 집합을 사용 하 여 사용자 지정 값을 할당할 수 있는 ToolsVersion 프로젝트를 만들거나 Msbuild.exe를 실행할 때 특성. 이렇게 하 여 사용할 수도 있습니다에서 $(MSBuildToolsPath) .targets 파일을 해당 디렉터리에서 가져올 속성입니다.
Msbuild.exe에 대 한 구성 파일에 사용자 지정 도구 집합을 지정 (또는 호스트에 사용자 지정 도구는 MSBuild 엔진 사용 하는 경우).예를 들어, Msbuild.exe의 구성 파일에 다음과 같은 도구 집합 정의가 포함 될 수 있습니다.
<msbuildToolsets default="3.0">
<toolset toolsVersion="4.0">
<property name="MSBuildToolsPath"
value="C:\Windows\Microsoft .NET\Framework\v3.0" />
</toolset>
</msbuildToolsets>
<msbuildToolsets>또한 구성 파일에는 다음과 같이 정의 되어야 합니다.
<configSections>
<section name="msbuildToolsets"
Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection,
Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
</section>
</configSections>
[!참고]
제대로 읽을 수 <configSections> 에서 첫 번째 하위 여야 합니다의 <configuration> 섹션입니다.
ToolsetConfigurationSection은 사용자 지정 구성의 모든 호스트에서 사용할 수 있는 사용자 지정 구성 섹션입니다.사용자 지정 도구 집합을 사용할 경우 다른 작업 없이 호스트는 구성 파일 항목을 제공하기만 하면 빌드 엔진을 초기화할 수 있습니다.레지스트리 항목을 정의하여 MSBuild.exe, Visual Studio 및 모든 MSBuild 호스트에 적용되는 컴퓨터 전체 도구 집합을 지정할 수 있습니다.
[!참고]
구성 파일에 대 한 설정을 정의 하는 경우는 ToolsVersion 레지스트리에서 이미 정의 된, 두 정의 병합 됩니다.구성 파일에서 정의 우선 순위 설정과 레지스트리를 취하 ToolsVersion 는 무시 됩니다.
다음 속성의 값에 관련 된 ToolsVersion 에서 사용 하는 프로젝트입니다.
$(MSBuildBinPath) 로 설정 되는 ToolsPath 레지스트리 나 구성 파일에 지정 된 값 위치는 ToolsVersion 정의 됩니다.$(MSBuildToolsPath) 설정은 레지스트리 나 구성 파일에 도구 집합의 위치를 지정 합니다.프로젝트 파일에서 $(MSBuildBinPath) 속성이나 $(MSBuildToolsPath) 속성으로 매핑됩니다.
$(MSBuildToolsPath) 구성 파일에 지정 된 MSBuildToolsPath 속성에서 제공 하는 예약 된 속성입니다.이 속성은 $(MSBuildBinPath)를 대체합니다.그러나 $(MSBuildBinPath)는 호환성을 위해 계속 제공됩니다.
MSBuildToolsPath 속성을 추가하기 위해 사용하는 것과 동일한 구문을 사용하여 구성 파일에 사용자 지정 ToolsVersion별 속성을 추가할 수도 있습니다.이러한 사용자 지정 속성을 프로젝트 파일을 사용할 수 있도록 구성 파일에 지정 된 값의 이름와 같은 이름을 사용 합니다.