Я новичок в MS Build и просматриваю многие из встроенных целевых файлов, которые поставляются с Visual Studio. Я видел переменные, переданные несколькими разными способами, и я не совсем уверен в различиях между ними:
$(...)
@(...)
%(...)
Я новичок в MS Build и просматриваю многие из встроенных целевых файлов, которые поставляются с Visual Studio. Я видел переменные, переданные несколькими разными способами, и я не совсем уверен в различиях между ними:
$(...)
@(...)
%(...)
 $(...) используется для доступа к значению Property (дополнительная информация о элемент свойства)
<PropertyGroup>
  <Configuration>Debug</Configuration>
</PropertyGroup>
<Message Text="Configuration = $(Configuration)"/>
 @(...) используется для доступа к значению Item (дополнительная информация о элемент элемента)
<ItemGroup>
  <Reference Include="System.Data"/>
  <Reference Include="System.Web.*"/>
</ItemGroup>
<Message Text="References = @(Reference)"/>
 %(...) используется для acces Item Metadata value (Дополнительная информация о Метаданные товара). Он также использовал batching.
<ItemGroup>
  <Compile Include="Account\ChangePassword.aspx.cs">
    <DependentUpon>ChangePassword.aspx</DependentUpon>
    <SubType>ASPXCodeBehind</SubType>
  <Compile/>
</ItemGroup>
<Message Text="Element @(Compile) of subtype %(SubType) and depend of %(DependentUpon)"/>
Доллар - $(MyProp): Позволяет ссылаться на значения, указанные в PropertyGroups.
В Sign - @(CodeFile): Позволяет ссылаться на списки элементов, указанных в элементах групп.
Percent -% (CodeFile.BatchNum): Позволяет ссылаться на сопоставленные значения ItemGroup с использованием метаданных. Это немного сложнее, поэтому обязательно просмотрите документацию для получения дополнительной информации.
Взгляните на каждую ссылку, чтобы получить более подробную информацию о том, как они используются. Удачи - надеюсь, что это поможет!