У меня есть специальная задача, написанная на C#. Эта пользовательская задача имеет аргумент, определенный следующим образом:
Код: Выделить всё
public required string[] StringArray { get; set; }
Затем в файле .csproj у меня есть следующие определения:
Теперь, когда задача выполняется, я ожидал, что в свойстве StringArray будут значения «A», «B» и «C» и что задача запускается один раз. Однако при создании проекта задача вызывается для каждого элемента в группе элементов, а затем в свойство передается только один элемент. Итак, в этом примере задача выполняется три раза, при этом значения «A», «B» и «C» передаются отдельно для каждого вызова задачи.
Я пытался с помощью преобразований сделать это правильно. Если я вызову задачу следующим образом:
затем все три элемента передаются свойству StringArray моей пользовательской задачи, чего я и хочу. Есть ли способ добиться этого? Мне нужно разместить StringElements в группе элементов, как сейчас, поскольку они нужны в этой форме в других частях процесса сборки.
ОБНОВЛЕНИЕ:
Для получения дополнительной информации я добавляю разные номера версий используемых инструментов:
- MSBuild версии 18.0.5.56406
- Microsoft.Build.Utilities.Core версии 18.0.2
Подробнее здесь:
https://stackoverflow.com/questions/798 ... in-msbuild