我猜它必须是一个ITaskItem,因为它是一个向量而不是标量,我在桌面上只有2个MsBuild书籍,我找不到如何将数组传递给任务的示例.我想做一个字符串数组,但我想知道适用于任何基本类型的正确方法.
如何将一个字符串(或int)数组传递给MsBuild任务?
Say*_*imi 10
MSBuild任务可以接受ITaskItem
,基元,字符串或任何参数的数组.您只需在任务中声明类型,然后在传递给任务之前转换值.如果该值无法转换为该类型,则将引发异常并停止构建.
例如,如果您有一个接受int[]
命名值的任务,那么您可以这样做.
<Target Name="MyTarget">
<MyTask Values="1;45;657" />
<!-- or you can do -->
<ItemGroup>
<SomeValues Include="7;54;568;432;79" />
</ItemGroup>
<MyTask Values="@(SomeValues) />
</Target>
Run Code Online (Sandbox Code Playgroud)
两种方法基本相同.另一个答案表明所有参数都是字符串或您必须使用的ITaskItem
是不正确的.
你说你有两本关于MSBuild的书,然后我假设有一本是我的内部Microsoft Build Engine书,你应该阅读自定义任务章节,这样你就可以全面掌握这些主题.有一节专门解释参数类型.
归档时间: |
|
查看次数: |
3033 次 |
最近记录: |