Я пишу свой первый скрипт MSBuild и столкнулся с проблемой.
У меня есть несколько проектов, определенных в группе элементов
<ItemGroup>
<Projects Include="Project1Dir\Project1.csproj"/>
<Projects Include="Project2Dir\Project2.csproj"/>
</ItemGroup>
Затем, на этапе развертывания, я пытаюсь сделать это:
Следующее должно собрать все файлыдля развертывания в отдельные группы элементов для каждого проекта («Project1deploymentFiles» и «Project2deploymentFiles»)
<CreateItem Include="$(WebPublishDir)\%(Projects.Filename)\**\*.*">
<Output ItemName="%(Projects.Filename)deploymentFiles" TaskParameter="Include"/>
</CreateItem>
В строке Thes следует скопировать файлы каждого проекта в отдельную папку
<Copy SourceFiles="@(%(Projects.Filename)deploymentFiles)" DestinationFolder="$(DeploymentDir)\%(Projects.Filename)\%(RecursiveDir)\" />
Но, похоже, чтоMSBuild разрешает метаданные% (RecursiveDir) в пустую строку, так как все файлы копируются в одну корневую папку (различную для каждого проекта).
Есть предложения, что я тут не так делаю?