У меня есть пользовательская задача MSBuild (которая расширяет Microsoft.Build.Utilities.Task). Эта задача имеет свойство типа string []. Сама задача (назовем ее «BobTask») находится в файле MSBuild, который устанавливает свое значение следующим образом:
<BobTask MyStringArrayProperty="@(MyStringArrayProperty)" />
Я предполагаю, что когда пользователь запускает файл MSBuild из командной строки (используя MSBuild.exe), он может установить свойство следующим образом:
msbuild.exe file.proj /p:MyStringArrayProperty="value1"
или
msbuild.exe file.proj /p:MyStringArrayProperty="value1;value2"
(и да, я знаю, что приведенные выше примеры командной строки неполные - это просто для обозначения моих намерений.)
Однако, когда я пробую это по-настоящему, MyStringArrayProperty в моей пользовательской задаче всегда будет нулевым. Я вижу, что другие задачи MSBuild используют свойства string [], так что это похоже на допустимый тип свойства для пользовательских задач. Это заставляет меня поверить, что синтаксис, который я использую для списка строк в командной строке, неверен. Таким образом, есть ли способ присвоить значение свойству string [] пользовательской задачи MSBuild, используя командную строку? Есть ли какой-то особый синтаксис, который мне нужно использовать?
Спасибо
-Craig