MsBuild WriteLinesToFile Задача для нескольких файлов - PullRequest
3 голосов
/ 17 марта 2010

У меня есть следующее в цели AfterGet в TFS.

<ItemGroup>
  <AssemblyInfoFiles Include="$(SolutionRoot)\**\*assemblyinfo.cs" />
</ItemGroup>
<WriteLinesToFile
        File="@(AssemblyInfoFiles)"
        Lines="AssemblyInformationalVersion(&quot;$(LabelName)&quot;)]"
        Overwrite="false"/>

ItemGroup включает в себя несколько файлов, но WriteLinesToFile ожидает только один файл.

И регистрирует следующую ошибку: ошибка MSB4094: «XXXX; YYYY; ZZZZ» - недопустимое значение для параметра «Файл» задачи «WriteLinesToFile». Несколько элементов не могут быть переданы в параметр типа «Microsoft.Build.Framework.ITaskItem».

Как передать каждый элемент из ItemGroup в задачу WriteLinesToFile?

1 Ответ

9 голосов
/ 17 марта 2010

Вы можете использовать дозирование: попробуйте

<ItemGroup>
  <AssemblyInfoFiles Include="$(SolutionRoot)\**\*assemblyinfo.cs" />
</ItemGroup>
<WriteLinesToFile
        File="%(AssemblyInfoFiles.FullPath)"
        Lines="AssemblyInformationalVersion(&quot;$(LabelName)&quot;)]"
        Overwrite="false"/>

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...