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