MSBuild välkända objektmetadata
Objektmetadata är värden som är kopplade till objekt. Vissa tilldelas av MSBuild till objekt när objekt skapas, men du kan också definiera eventuella metadata som du behöver. Vissa användardefinierade metadatavärden har betydelse för MSBuild, specifika uppgifter eller SDK:er, till exempel .NET SDK.
Tabellen i den här artikeln beskriver de metadata som tilldelas varje objekt när de skapas. I nästa tabell visas några valfria metadata som har betydelse för MSBuild, som du kan definiera för att styra byggbeteendet. I varje exempel användes följande objektdeklaration för att inkludera filen C:\MyProject\Source\Program.cs i projektet.
<ItemGroup>
<MyItem Include="Source\Program.cs" />
</ItemGroup>
Objektmetadata | Beskrivning |
---|---|
%(FullPath) | Innehåller objektets fullständiga sökväg. Till exempel: C:\MyProject\Source\Program.cs |
%(RootDir) | Innehåller rotkatalogen för objektet. Till exempel: C:\ |
%(filnamn) | Innehåller objektets filnamn, utan tillägget. Till exempel: Program |
%(tillägg) | Innehåller filnamnstillägget för objektet. Till exempel: .cs |
%(RelativeDir) | Innehåller sökvägen som anges i attributet Include , upp till det slutliga omvänt snedstrecket (\). Till exempel:Source\ Om attributet Include är en fullständig sökväg börjar %(RelativeDir) med rotkatalogen %(RootDir) . Till exempel: C:\MyProject\Source\ |
%(katalog) | Innehåller katalogen för objektet, utan rotkatalogen. Till exempel: MyProject\Source\ |
%(RecursiveDir) | Om attributet Include innehåller jokertecknet **, anger dessa metadata den del av sökvägen som ersätter jokertecknet. Mer information om jokertecken finns i How to: Select the files to build.Om mappen C:\MySolution\MyProject\Source\ innehåller filen Program.csoch om projektfilen innehåller det här objektet: <ItemGroup> <MyItem Include="C:\**\Program.cs" /> </ItemGroup> sedan skulle värdet för %(MyItem.RecursiveDir) vara MySolution\MyProject\Source\. |
%(identitet) | Objektet som anges i attributet Include . Till exempel:Source\Program.cs |
%(ModifiedTime) | Innehåller tidsstämpeln från den senaste gången objektet ändrades. Till exempel:2004-07-01 00:21:31.5073316 |
%(CreatedTime) | Innehåller tidsstämpeln från när objektet skapades. Till exempel:2004-06-25 09:26:45.8237425 |
%(AccessedTime) | Innehåller tidsstämpeln från den senaste gången objektet användes.2004-08-14 16:52:36.3168743 |
%(DefiningProjectFullPath) | Innehåller den fullständiga sökvägen till den projektfil (eller importerad fil) som definierar det här objektet. |
%(DefiningProjectDirectory) | Innehåller projektkatalogen för den projektfil (eller importerad fil) som definierar det här objektet. |
%(DefiningProjectName) | Innehåller namnet på den projektfil (eller importerad fil) som definierar det här objektet (utan tillägget). |
%(DefiningProjectExtension) | Innehåller tillägget för den projektfil (eller importerad fil) som definierar det här objektet. |