Я занимаюсь разработкой пользовательской задачи MSBuild, унаследованной от базового класса Task. Моя задача вызывает задачу «Копировать», объявленную в Microsoft.Build.Tasks.dll
, и задает свойство DestinationFolder в процессе. У моей пользовательской задачи есть свойство DestinationFolder, объявленное как
public ITaskItem DestinationFolder { get; set; }
При вызове этой задачи из файла сборки / проекта я мог бы передать такой параметр, как
<MyTask DestinationFolder="C:\Development\Test\%(RecursiveDir)"
Проблема, с которой я столкнулся, заключается в том, что при выполнении этой задачи свойство DestinationFolder, по-видимому, не знает о бите %(RecursiveDir)
, вместо этого просто кажется, что установлено в C:\Development\Test\Bin
.
Этот вопрос , по-видимому, предполагает отсутствие обходного пути для этой проблемы. Это определенно так? Мне было интересно, можно ли объявить свойство как простую строку, а затем создать объект TaskItem на лету, и если строка DestinationFolder содержит специальную инструкцию %(RecursiveDir)
, чтобы затем соответствующим образом настроить объект TaskItem.