Может ли Msbuild динамически генерировать список Item.Metadata? - PullRequest
0 голосов
/ 28 марта 2011
<SqlToMetadataMultiTask ConnectionString="$(ConnectionString)">
         <Output TaskParameter="Items" ItemName="MultiStats" />
         <Output TaskParameter="Columns" ItemName="MultiColumns" />
        </SqlToMetadataMultiTask>   
        <PropertyGroup>
            <OutputFormat>@(MultiColumns,',')</OutputFormat>
        </PropertyGroup>
        <Message Text="Columns=@(MultiColumns,',')"/>
        <WriteLinesToFile File="SqlMetricsMulti.csv" Overwrite="true" Lines="@(MultiColumns,',')" />
        <WriteLinesToFile File="SqlMetricsMulti.csv" Overwrite="false" 
            Lines="@(MultiStats->'%(db),%(num_procs),%(len_procs),%(cursors_refs),%(tt_refs),%(ifs),%(cases),%(where),%(join),%(ands),%(ors)')" />

У меня есть строка для каждой базы данных, и я записываю заголовки столбцов, а затем метрики, хранимые метаданными для каждой базы данных.

Можно ли сделать эту задачу более общей, чтобы столбцы вывода данных генерировались динамически так же, как и заголовки столбцов?В некоторых случаях это может быть пользовательский белый список метаданных другой группы элементов, динамически основанный на вводе.

1 Ответ

0 голосов
/ 28 марта 2011

См. Этот ответ в ссылке ниже, которая несколько похожа, записывая метаданные элемента в файл. Вам нужно проверить документы для ITaskItem, в частности, ITaskItem.CloneCustomMetadata, чтобы получить общее поведение, которое вы ищете.

Передача элементов в задачу MSBuild

...