gpt4 book ai didi

msbuild - 规范化 MSBuild 中的项目列表

转载 作者:行者123 更新时间:2023-12-04 10:22:31 31 4
gpt4 key购买 nike

我正在尝试获取项目根目录下所有单元测试程序集的列表。我可以这样做:

<CreateItem Include="**\bin\**\*.UnitTest.*.dll">
<Output TaskParameter="Include" ItemName="Items"/>
</CreateItem>

但是,这将多次找到相同的 DLL,因为它们存在于多个子目录中。有没有一种简单的方法可以让我根据项目元数据(即文件名和扩展名)进行标准化,以便获得唯一单元测试 DLL 的列表?还是我必须求助于编写自己的任务?

最佳答案

即使这是旧的,我也永远无法让 Thomas 解决方案自己工作,但我确实找到了一种仅使用 msbuild v4.0 的内置命令的解决方法:

<ItemGroup>
<TestAssemblies Include="$(SolutionRoot)\**\bin\*.Tests.dll" />
<TestItems Include="%(TestAssemblies.FileName)%(TestAssemblies.Extension)">
<ItemPath>%(TestAssemblies.Identity)</ItemPath>
</TestItems>
<DistinctTestItems Include="@(TestItems->Distinct())"></DistinctTestItems>
</ItemGroup>
<Message Text="%(DistinctTestItems.ItemPath)" Importance="high" />

文档: Item Functions

关于msbuild - 规范化 MSBuild 中的项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/362983/

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