msbuild
Ordine di proprietà e valutazione dell'oggetto
Ricerca…
Osservazioni
Per ulteriori dettagli, vedere Ordine di valutazione di proprietà e articoli nella pagina di documentazione di MSDN Confronto di proprietà ed elementi .
Esempio che illustra l'ordine di valutazione
MSBuild valuta gli elementi PropertyGroup , Choose e ItemGroup direttamente sotto l'elemento Project prima di quelli presenti negli elementi Target .
- Direttamente sotto l'elemento
Project, gli elementiPropertyGroupeChoosevengono valutati nell'ordine in cui vengono visualizzati e quindiItemGroupelementiItemGroupvengono valutati nell'ordine in cui vengono visualizzati. - Negli elementi di
TargetPropertyGroupeItemGroupcondividono la precedenza uguale e vengono valutati nell'ordine in cui vengono visualizzati.
All'interno dei file referenziati tramite Import , MSBuild valuta PropertyGroup , Choose e ItemGroup nello stesso modo come sopra, e come se il contenuto dei file importati fosse in linea dove si trova l' Import .
I commenti sottostanti forniscono valori di proprietà e conteggi delle voci prima e dopo MSBuild valuta le linee selezionate.
<Project DefaultTargets="FooTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="FooTarget">
<ItemGroup>
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '1' -->
<FooItem Include="foo value B" />
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '2' -->
</ItemGroup>
<PropertyGroup>
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '2' -->
<FooProp>3</FooProp>
<!-- '$(FooProp)' == '3', '@(FooItem->Count())' == '2' -->
</PropertyGroup>
</Target>
<ItemGroup>
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '0' -->
<FooItem Include="foo value A" />
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '1' -->
</ItemGroup>
<PropertyGroup>
<!-- '$(FooProp)' == '', '@(FooItem->Count())' == '0' -->
<FooProp>1</FooProp>
<!-- '$(FooProp)' == '1', '@(FooItem->Count())' == '0' -->
</PropertyGroup>
<Choose>
<When Condition=" '$(FooProp)' == '1' ">
<!-- '$(FooProp)' == '1', '@(FooItem->Count())' == '0' -->
<FooProp>2</FooProp>
<!-- '$(FooProp)' == '2', '@(FooItem->Count())' == '0' -->
</When>
</Choose>
</Project>
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow