Я новичок в MS Build и просматриваю многие из встроенных целевых файлов, которые поставляются с Visual Studio. Я видел переменные, переданные несколькими разными способами, и я не совсем уверен в различиях между ними:
$(...)
@(...)
%(...)
Ответ 1
$(...) используется для доступа к значению Property (дополнительная информация о элемент свойства)
%(...) используется для 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)"/>
Ответ 2
Доллар - $(MyProp): Позволяет ссылаться на значения, указанные в PropertyGroups.
В Sign - @(CodeFile): Позволяет ссылаться на списки элементов, указанных в элементах групп.
Percent -% (CodeFile.BatchNum): Позволяет ссылаться на сопоставленные значения ItemGroup с использованием метаданных. Это немного сложнее, поэтому обязательно просмотрите документацию для получения дополнительной информации.
Взгляните на каждую ссылку, чтобы получить более подробную информацию о том, как они используются. Удачи - надеюсь, что это поможет!