표준 및 사용자 지정 도구 집합 구성

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 설치 경로

Bb397428.collapse_all(ko-kr,VS.110).gif하위 도구 집합

이전 테이블의 레지스트리 키에 하위 키가 있으면 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별 속성을 추가할 수도 있습니다.이러한 사용자 지정 속성을 프로젝트 파일을 사용할 수 있도록 구성 파일에 지정 된 값의 이름와 같은 이름을 사용 합니다.

참고 항목

개념

MSBuild 도구 집합(ToolsVersion)