다음을 통해 공유


MSBuild 잘 알려진 항목 메타데이터

항목 메타데이터는 항목에 연결된 값입니다. 일부는 항목을 만들 때 MSBuild에서 항목에 할당되지만 필요한 메타데이터를 정의할 수도 있습니다. 일부 사용자 정의 메타데이터 값은 MSBuild, 특정 작업 또는 SDK(예: .NET SDK)에 의미가 있습니다.

이 문서의 표에서는 만들 때 모든 항목에 할당된 메타데이터에 대해 설명합니다. 다음 표에서는 빌드 동작을 제어하도록 정의할 수 있는 MSBuild에 대한 의미를 가지는 몇 가지 선택적 메타데이터를 보여 주었습니다. 각 예제에서 다음 항목 선언은 프로젝트에 C:\MyProject\Source\Program.cs 파일을 포함하는 데 사용되었습니다.

<ItemGroup>
    <MyItem Include="Source\Program.cs" />
</ItemGroup>
항목 메타데이터 묘사
%(FullPath) 항목의 전체 경로를 포함합니다. 예를 들어:

C:\MyProject\Source\Program.cs
%(RootDir) 항목의 루트 디렉터리를 포함합니다. 예를 들어:

C:\
%(파일 이름) 확장명 없이 항목의 파일 이름을 포함합니다. 예를 들어:

프로그램
%(확장) 항목의 파일 이름 확장명을 포함합니다. 예를 들어:

.cs
%(RelativeDir) 최종 백슬래시(\)까지 Include 특성에 지정된 경로를 포함합니다. 예를 들어:

원본\

Include 특성이 전체 경로인 경우 %(RelativeDir) 루트 디렉터리 %(RootDir)시작합니다. 예를 들어:

C:\MyProject\Source\
%(디렉터리) 루트 디렉터리가 없는 항목의 디렉터리를 포함합니다. 예를 들어:

MyProject\Source\
%(RecursiveDir) Include 특성에 와일드카드 **가 포함된 경우 이 메타데이터는 와일드카드를 대체하는 경로 부분을 지정합니다. 와일드카드에 대한 자세한 내용은 방법:빌드할 파일 선택 을 참조하세요.

C:\MySolution\MyProject\Source\ 폴더에 파일 Program.cs포함되어 있고 프로젝트 파일에 다음 항목이 포함되어 있는 경우:

<ItemGroup>

<MyItem Include="C:\**\Program.cs" />

</ItemGroup>

그런 다음 값은 mySolution\MyProject\Source\.
%(ID) Include 특성에 지정된 항목입니다. 예를 들어:

Source\Program.cs
%(ModifiedTime) 항목이 마지막으로 수정된 시점의 타임스탬프를 포함합니다. 예를 들어:

2004-07-01 00:21:31.5073316
%(CreatedTime) 항목을 만들 때의 타임스탬프를 포함합니다. 예를 들어:

2004-06-25 09:26:45.8237425
%(AccessedTime) 항목에 마지막으로 액세스한 시점의 타임스탬프를 포함합니다.

2004-08-14 16:52:36.3168743
%(DefiningProjectFullPath) 이 항목을 정의하는 프로젝트 파일(또는 가져온 파일)의 전체 경로를 포함합니다.
%(DefiningProjectDirectory) 이 항목을 정의하는 프로젝트 파일(또는 가져온 파일)의 프로젝트 디렉터리를 포함합니다.
%(DefiningProjectName) 확장명 없이 이 항목을 정의하는 프로젝트 파일(또는 가져온 파일)의 이름을 포함합니다.
%(DefiningProjectExtension) 이 항목을 정의하는 프로젝트 파일(또는 가져온 파일)의 확장자를 포함합니다.

참고 항목