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:\
%(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) 包含定義此專案之專案檔的擴展名(或匯入的檔案)。

另請參閱