msbuild
Zamówienie nieruchomości i wycena przedmiotu
Szukaj…
Uwagi
Aby uzyskać więcej informacji, zobacz Zamówienie oceny właściwości i przedmiotu na stronie dokumentacji MSDN Porównywanie właściwości i przedmiotów .
Przykład ilustrujący kolejność oceny
MSBuild ocenia elementy PropertyGroup , Choose i ItemGroup znajdujące się bezpośrednio pod elementem Project przed tymi, które znajdują się w elementach Target .
- Bezpośrednio pod
ProjectelementuPropertyGroupiChooseelementy są oceniane w kolejności, w jakiej występują, a następnieItemGroupelementy są oceniane w kolejności, w jakiej występują. - W elementach
TargetPropertyGroupiItemGroupmają równy priorytet i są oceniane w kolejności, w jakiej się pojawiają.
W plikach odwoływać poprzez Import , MSBuild ocenia PropertyGroup , Choose i ItemGroup w taki sam sposób jak powyżej, a jakby Zawartość importowanych plików pojawiła inline gdzie Import znajduje.
Poniższe komentarze podają wartości właściwości i liczby elementów przed i po ocenie przez MSBuild wybranych linii.
<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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow