MSBuild 잘 알려진 항목 메타데이터
항목 메타데이터는 항목에 연결된 값입니다. 일부는 항목을 만들 때 MSBuild가 항목에 할당하지만 필요한 메타데이터를 직접 정의할 수도 있습니다. 일부 사용자 정의 메타데이터 값은 MSBuild, 특정 작업 또는 .NET SDK와 같은 SDK에서 유효합니다.
이 문서의 첫 번째 표에서는 모든 항목을 만들 때 할당되는 메타데이터에 대해 설명합니다. 다음 표에서는 MSBuild에서 유효한 몇 가지 선택적 메타데이터를 보여 줍니다. 이러한 메타데이터를 정의하여 빌드 동작을 제어할 수 있습니다. 각 예제에서 프로젝트에 파일 C:\MyProject\Source\Program.cs를 포함하는 데 다음과 같은 항목 선언이 사용되었습니다.
<ItemGroup>
<MyItem Include="Source\Program.cs" />
</ItemGroup>
항목 메타데이터 | 설명 |
---|---|
%(FullPath) | 항목의 전체 경로를 포함합니다. 예시: C:\MyProject\Source\Program.cs |
%(RootDir) | 항목의 루트 디렉터리를 포함합니다. 예시: C:\ |
%(Filename) | 확장명 없이 항목의 파일 이름을 포함합니다. 예시: 프로그램 |
%(Extension) | 항목의 파일 이름 확장명을 포함합니다. 예시: .cs |
%(RelativeDir) | 마지막 백슬래시(\)까지 Include 특성에 지정된 경로를 포함합니다. 예시:Source\ Include 특성이 전체 경로인 경우 %(RelativeDir) 는 루트 디렉터리 %(RootDir) 로 시작합니다. 예: C:\MyProject\Source\ |
%(Directory) | 루트 디렉터리를 제외한 항목의 디렉터리를 포함합니다. 예시: MyProject\Source\ |
%(RecursiveDir) | Include 특성에 와일드카드 **가 포함되는 경우 메타데이터는 와일드카드를 대신하는 경로 부분을 지정합니다. 와일드카드에 대한 자세한 내용은 방법: 빌드할 파일 선택을 참조하세요.폴더 C:\MySolution\MyProject\Source\에 Program.cs 파일이 포함되고 프로젝트 파일에 다음 항목이 포함된 경우: <ItemGroup> <MyItem Include="C:\**\Program.cs" /> </ItemGroup> %(MyItem.RecursiveDir) 값은 MySolution\MyProject\Source\가 됩니다. |
%(Identity) | 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) | 이 항목을 정의하는 프로젝트 파일(또는 가져온 파일)의 확장자를 포함합니다. |