Работа с метаданными элемента в целевой пакетной обработке
MSBuild может анализировать зависимости для входных и выходных данных целевого объекта сборки. Если определено, что входные или выходные данные целевого объекта актуальны, он пропускается, а сборка продолжается. Элементы Target
используют атрибуты Inputs
и Outputs
, чтобы задать элементы, обрабатываемые во время анализа зависимостей.
Если целевой объект содержит задачу, которая использует пакетные элементы в качестве входных и выходных данных, элемент Target
целевого объекта должен использовать пакетную обработку в своих атрибутах Inputs
или Outputs
, чтобы позволить MSBuild пропускать уже актуальные пакеты элементов.
Целевые объекты пакетной службы
Следующий пример содержит список элементов Res
, который поделен на два пакета на основе метаданные элемента Culture
. Каждый из пакетов передается в задачу AL
, которая создает для них по выходной сборке. Используя пакетную обработку для атрибута Outputs
элемента Target
, MSBuild может определить, актуальны ли отдельные пакеты, прежде чем запускать целевой объект. Без пакетной обработки целевых объектов оба пакета элементов будут выполняться задачей при каждом запуске целевого объекта.
<Project
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Res Include="Strings.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Strings.jp.resources">
<Culture>jp</Culture>
</Res>
<Res Include="Menus.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Dialogs.fr.resources">
<Culture>fr</Culture>
</Res>
<Res Include="Dialogs.jp.resources">
<Culture>jp</Culture>
</Res>
<Res Include="Menus.jp.resources">
<Culture>jp</Culture>
</Res>
</ItemGroup>
<Target Name="Build"
Inputs="@(Res)"
Outputs="%(Culture)\MyApp.resources.dll">
<AL Resources="@(Res)"
TargetType="library"
OutputAssembly="%(Culture)\MyApp.resources.dll">
</AL>
</Target>
</Project>
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по