MSBuild의 예약된 속성 및 잘 알려진 속성MSBuild Reserved and Well-Known Properties

MSBuildMSBuild에서는 프로젝트 파일과 MSBuildMSBuild 이진 파일에 대한 정보를 저장하는 미리 정의된 속성 집합을 제공합니다. provides a set of predefined properties that store information about the project file and the MSBuildMSBuild binaries. 이러한 속성은 다른 MSBuildMSBuild 속성과 동일한 방식으로 평가됩니다.These properties are evaluated in the same manner as other MSBuildMSBuild properties. 예를 들어, MSBuildProjectFile 속성을 사용하려면 $(MSBuildProjectFile)을 입력합니다.For example, to use the MSBuildProjectFile property, you type $(MSBuildProjectFile).

MSBuild에서는 다음 표에 있는 값을 사용하여 예약된 속성 및 잘 알려진 속성을 미리 정의할 수 있습니다.MSBuild uses the values in the following table to predefine reserved and well-known properties. 예약된 속성은 재정의할 수 없지만 잘 알려진 속성은 동일하게 이름이 지정된 환경 속성, 전역 속성 또는 프로젝트 파일에 선언된 속성을 사용하여 재정의할 수 있습니다.Reserved properties cannot be overridden, but well-known properties can be overridden by using identically named environment properties, global properties, or properties that are declared in the project file.

예약된 속성 및 잘 알려진 속성Reserved and Well-Known Properties

다음 표에서는 MSBuildMSBuild의 미리 정의된 속성에 대해 설명합니다.The following table describes the MSBuildMSBuild predefined properties.

속성Property 설명Description 예약됨 또는 잘 알려짐Reserved or Well-Known
MSBuildBinPath 현재 사용 중인 MSBuildMSBuild 이진 파일이 있는 폴더의 절대 경로(예: C:\Windows\Microsoft.Net\Framework\versionNumber)입니다.The absolute path of the folder where the MSBuildMSBuild binaries that are currently being used are located (for example, C:\Windows\Microsoft.Net\Framework\versionNumber). 이 속성은 MSBuildMSBuild 디렉터리에 있는 파일을 참조해야 할 경우에 유용합니다.This property is useful if you have to refer to files in the MSBuildMSBuild directory.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
예약됨Reserved
MSBuildExtensionsPath .NET Framework 4에서는 MSBuildExtensionsPathMSBuildExtensionsPath32의 기본값 사이에 차이가 없음을 정의했습니다.Introduced in the .NET Framework 4: there is no difference between the default values of MSBuildExtensionsPath and MSBuildExtensionsPath32. 이전 버전에서 MSBUILDLEGACYEXTENSIONSPATH의 기본값 동작을 사용으로 설정하려면 환경 변수 MSBuildExtensionsPath를 null이 아닌 값으로 설정하면 됩니다.You can set the environment variable MSBUILDLEGACYEXTENSIONSPATH to a non-null value to enable the behavior of the default value of MSBuildExtensionsPath in earlier versions.

.NET Framework 3.5 이전에서는 MSBuildExtensionsPath의 기본값이 현재 프로세스의 비트에 따라 \Program Files\ 또는 \Program Files (x86) 폴더 아래 MSBuild 하위 폴더의 경로를 가리킵니다.In the .NET Framework 3.5 and earlier, the default value of MSBuildExtensionsPath points to the path of the MSBuild subfolder under the \Program Files\ or \Program Files (x86) folder, depending on the bitness of the current process. 예를 들어, 64비트 컴퓨터에 32비트 프로세스인 경우 이 속성은 \Program Files (x86) 폴더를 가리킵니다.For example, for a 32-bit process on a 64-bit machine, this property points to the \Program Files (x86) folder. 64비트 컴퓨터에 64비트 프로세스인 경우 이 속성은 \Program Files 폴더를 가리킵니다.For a 64-bit process on a 64-bit machine, this property points to the \Program Files folder.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.

이 위치는 사용자 지정 대상 파일을 넣는 데 유용합니다.This location is a useful place to put custom target files. 예를 들어, 대상 파일을 \Program Files\MSBuild\MyFiles\Northwind.targets에 설치한 후 다음 XML 코드를 사용하여 프로젝트 파일로 가져옵니다.For example, your target files could be installed at \Program Files\MSBuild\MyFiles\Northwind.targets and then imported in project files by using this XML code:

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>
잘 알려짐Well-Known
MSBuildExtensionsPath32 \Program Files 또는 \Program Files (x86) 폴더 아래에 있는 MSBuildMSBuild 하위 폴더의 경로입니다.The path of the MSBuildMSBuild subfolder under the \Program Files or \Program Files (x86) folder. 이 경로는 항상 32비트 컴퓨터의 32비트 \Program Files 폴더를 가리키며 64비트 컴퓨터의 \Program Files (x86)를 가리킵니다.This path always points to the 32-bit \Program Files folder on a 32-bit machine and \Program Files (x86) on a 64-bit machine. MSBuildExtensionsPathMSBuildExtensionsPath64도 참조하세요.See also MSBuildExtensionsPath and MSBuildExtensionsPath64.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
잘 알려짐Well-Known
MSBuildExtensionsPath64 \Program Files 폴더 아래에 있는 MSBuildMSBuild 하위 폴더의 경로입니다.The path of the MSBuildMSBuild subfolder under the \Program Files folder. 64비트 컴퓨터의 경우 이 경로는 항상 \Program Files 폴더를 가리킵니다.For a 64-bit machine, this path always points to the \Program Files folder. 32비트 컴퓨터에서는 이 경로가 비어 있습니다.For a 32-bit machine, this path is blank. MSBuildExtensionsPathMSBuildExtensionsPath32도 참조하세요.See also MSBuildExtensionsPath and MSBuildExtensionsPath32.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
잘 알려짐Well-Known
MSBuildLastTaskResult 이전 작업이 오류 없이(경고가 있어도) 완료되면 true이고, 이전 작업에 오류가 있으면 false입니다.true if the previous task completed without any errors (even if there were warnings), or false if the previous task had errors. 일반적으로 작업에서 오류가 발생하면 오류는 해당 프로젝트에서 마지막으로 발생하는 항목입니다.Typically, when an error occurs in a task, the error is the last thing that happens in that project. 따라서 이 속성의 값은 false를 사용하지 않습니다. 단, 다음 시나리오에서는 제외됩니다.Therefore, the value of this property is never false, except in these scenarios:

- Task 요소(MSBuild)ContinueOnError 특성이 WarnAndContinue 또는 trueErrorAndContinue로 설정된 경우- When the ContinueOnError attribute of the Task Element (MSBuild) is set to WarnAndContinue (or true) or ErrorAndContinue.

- TargetOnError 요소(MSBuild)가 자식 요소로 포함되어 있는 경우- When the Target has an OnError Element (MSBuild) as a child element.
예약됨Reserved
MSBuildNodeCount 작성 시 사용되는 동시 프로세스의 최대 수입니다.The maximum number of concurrent processes that are used when building. 이 값은 명령줄에서 /maxcpucount에 대해 지정한 값입니다.This is the value that you specified for /maxcpucount on the command line. 값을 지정하지 않고 /maxcpucount를 지정한 경우 MSBuildNodeCount는 컴퓨터의 프로세서 수를 지정합니다.If you specified /maxcpucount without specifying a value, then MSBuildNodeCount specifies the number of processors in the computer. 자세한 내용은 명령줄 참조병렬로 여러 프로젝트 빌드를 참조하세요.For more information, see Command-Line Reference and Building Multiple Projects in Parallel. 예약됨Reserved
MSBuildProgramFiles32 32비트 프로그램 폴더의 위치(예: C:\Program Files (x86))입니다.The location of the 32-bit program folder; for example, C:\Program Files (x86).

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
예약됨Reserved
MSBuildProjectDefaultTargets DefaultTargets 요소의 Project 특성에 지정된 대상의 전체 목록입니다.The complete list of targets that are specified in the DefaultTargets attribute of the Project element. 예를 들어, 다음 Project 요소의 MSBuildDefaultTargets 속성 값이 A;B;C입니다.For example, the following Project element would have an MSBuildDefaultTargets property value of A;B;C:

<Project DefaultTargets="A;B;C" >
예약됨Reserved
MSBuildProjectDirectory 프로젝트 파일이 있는 디렉터리의 절대 경로(예: C:\MyCompany\MyProduct)입니다.The absolute path of the directory where the project file is located, for example C:\MyCompany\MyProduct.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
예약됨Reserved
MSBuildProjectDirectoryNoRoot MSBuildProjectDirectory 속성 값입니다. 단, 루트 드라이브를 제외합니다.The value of the MSBuildProjectDirectory property, excluding the root drive.

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
예약됨Reserved
MSBuildProjectExtension 마침표가 포함된 프로젝트 파일의 파일 확장명(예: .proj)입니다.The file name extension of the project file, including the period; for example, .proj. 예약됨Reserved
MSBuildProjectFile 파일 확장명이 포함된 프로젝트 파일의 전체 파일 이름(예: MyApp.proj)입니다.The complete file name of the project file, including the file name extension; for example, MyApp.proj. 예약됨Reserved
MSBuildProjectFullPath 파일 확장명이 포함된 프로젝트 파일의 절대 경로와 전체 파일 이름(예: C:\MyCompany\MyProduct\MyApp.proj)입니다.The absolute path and complete file name of the project file, including the file name extension; for example, C:\MyCompany\MyProduct\MyApp.proj. 예약됨Reserved
MSBuildProjectName 파일 확장명이 없는 프로젝트 파일의 파일 이름(예: MyApp)입니다.The file name of the project file without the file name extension; for example, MyApp. 예약됨Reserved
MSBuildRuntimeType 현재 실행 중인 런타임의 형식입니다.The type of the runtime that is currently executing. MSBuild 15에서 도입되었습니다.Introduced in MSBuild 15. MSBuild가 데스크톱 .NET Framework에서 실행 중임을 나타내는 Full, MSBuild가 .NET Core에서 실행 중임을 나타내는 Core 또는 MSBuild가 Mono에서 실행 중임을 나타내는 Mono 값이 정의되어 있지 않을 수 있습니다(MSBuild 15 이전).Value may be undefined (prior to MSBuild 15), Full indicating that MSBuild is running on the desktop .NET Framework, Core indicating that MSBuild is running on .NET Core, or Mono indicating that MSBuild is running on Mono. 예약됨Reserved
MSBuildStartupDirectory MSBuildMSBuild가 호출되는 폴더의 절대 경로입니다.The absolute path of the folder where MSBuildMSBuild is called. 이 속성을 사용하면 모든 디렉터리에서 dirs.proj 파일을 만들지 않고 프로젝트 트리에서 특정 지점 아래에 모든 것을 빌드할 수 있습니다.By using this property, you can build everything below a specific point in a project tree without creating dirs.proj files in every directory. 대신 다음과 같이 프로젝트(예: c:\traversal.proj)를 하나만 포함합니다.Instead, you have just one project—for example, c:\traversal.proj, as shown here:

<Project ...> <ItemGroup> <ProjectFiles Include="$ (MSBuildStartupDirectory) **\*.csproj"/> </ItemGroup> <Target Name="build"> <MSBuild Projects="@(ProjectFiles)"/> </Target> </Project>

임의의 트리 위치에 빌드하려면 다음을 입력합니다.To build at any point in the tree, type:

msbuild c:\traversal.proj

이 속성에는 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash on this property.
예약됨Reserved
MSBuildThisFile MSBuildThisFileFullPath의 파일 이름 및 파일 확장명 부분입니다.The file name and file extension portion of MSBuildThisFileFullPath. 예약됨Reserved
MSBuildThisFileDirectory MSBuildThisFileFullPath의 디렉터리 부분입니다.The directory portion of MSBuildThisFileFullPath.

경로에 마지막 백슬래시를 포함하세요.Include the final backslash in the path.
예약됨Reserved
MSBuildThisFileDirectoryNoRoot 루트 드라이브를 제외한 MSBuildThisFileFullPath의 디렉터리 부분입니다.The directory portion of MSBuildThisFileFullPath, excluding the root drive.

경로에 마지막 백슬래시를 포함하세요.Include the final backslash in the path.
예약됨Reserved
MSBuildThisFileExtension MSBuildThisFileFullPath의 파일 확장명 부분입니다.The file name extension portion of MSBuildThisFileFullPath. 예약됨Reserved
MSBuildThisFileFullPath 실행하는 대상을 포함하는 프로젝트 또는 대상 파일의 절대 경로입니다.The absolute path of the project or targets file that contains the target that is running.

팁: 원본 프로젝트 파일이 아닌 대상 파일을 기준으로 하는 대상 파일의 상대 경로를 지정할 수 있습니다.Tip: You can specify a relative path in a targets file that's relative to the targets file and not relative to the original project file.
예약됨Reserved
MSBuildThisFileName 파일 확장명을 제외한 MSBuildThisFileFullPath의 파일 이름 부분입니다.The file name portion of MSBuildThisFileFullPath, without the file name extension. 예약됨Reserved
MSBuildToolsPath MSBuildMSBuild 버전의 설치 경로는 MSBuildToolsVersion 값과 연결됩니다.The installation path of the MSBuildMSBuild version that's associated with the value of MSBuildToolsVersion.

경로에 마지막 백슬래시를 포함하지 마세요.Do not include the final backslash in the path.

이 속성은 재정의할 수 없습니다.This property cannot be overridden.
예약됨Reserved
MSBuildToolsVersion 프로젝트 빌드에 사용된 MSBuildMSBuild 도구 집합의 버전입니다.The version of the MSBuildMSBuild Toolset that is used to build the project.

참고: MSBuildMSBuild 도구 집합은 응용 프로그램 빌드에 사용되는 작업, 대상 및 도구로 구성됩니다.Note: An MSBuildMSBuild Toolset consists of tasks, targets, and tools that are used to build an application. 도구에는 csc.exe 및 vbc.exe와 같은 컴파일러가 포함됩니다.The tools include compilers such as csc.exe and vbc.exe. 자세한 내용은 도구 집합(ToolsVersion)표준 및 사용자 지정 도구 집합 구성을 참조하세요.For more information, see Toolset (ToolsVersion), and Standard and Custom Toolset Configurations.
예약됨Reserved

참고 항목See Also

MSBuild 참조 MSBuild 속성MSBuild Reference MSBuild Properties