gpt4 book ai didi

.net - 如何将数据传递到 MSBuild 任务的 ITaskItem 属性?

转载 作者:行者123 更新时间:2023-12-02 15:41:59 24 4
gpt4 key购买 nike

我有一个在 MSBuild 中使用的自定义任务。效果很好。以前,我有一些属性接受一些字符串数据。有人建议我应该将它们更改为ITaskItem。这样,如果我有空格,就不会有问题。

之前的代码

public class CompressorTask : Task
{
....
public string CssFiles { get; set; }
public string JavaScriptFiles { get; set; }
}

示例 msbuild 文件(例如 MsBuildSample.xml)...

<CompressorTask
CssFiles="StylesheetSample1.css, StylesheetSample2.css,
StylesheetSample3.css, StylesheetSample4.css"
JavaScriptFiles="jquery-1.2.6-vsdoc.js"
... />

注意到我怎么有 4 个 css 文件了吗?我通过 , 或 空格分隔符手动提取它们。基尔。

新代码

 public ITaskItem[] CssFiles { get; set; }
public ITaskItem[] JavaScriptFiles { get; set; }

现在,我不确定需要在 MSBuild 文件的 CssFiles 属性中设置什么值。

有什么建议吗?

最佳答案

我认为您现在需要将文件放入具有属性名称的项目列表中:

<ItemGroup>
<CssFiles Include="StylesheetSample1.css"/>
<CssFiles Include="StylesheetSample2.css"/>
<CssFiles Include="StylesheetSample3.css"/>
<CssFiles Include="StylesheetSample4.css"/>
<!-- or <CssFiles Include="*.css" /> -->
<JavaScriptFiles Include="jquery-1.2.6-vsdoc.js"/>
</ItemGroup>
<CompressorTask CssFiles="@(CssFiles)" JavaScriptFiles="@(JavaScriptFiles)"/>

关于.net - 如何将数据传递到 MSBuild 任务的 ITaskItem 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/675741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com