使用 MSBuild,如何通过迭代 ItemGroup 中的文件来构造动态字符串?

2024-03-29

我需要创建多个 /testcontainer: 参数以输入到执行 MsTest 的任务中。

我有以下内容:

  <ItemGroup>
    <TestFiles Include="$(ProjectPath)\**\UnitTest.*.dll" />
  </ItemGroup>

对于每场比赛测试文件我想构建一个像这样的字符串:

"/testcontainer:UnitTest.SomeLibrary1.dll"
"/testcontainer:UnitTest.SomeLibrary2.dll"
"/testcontainer:UnitTest.SomeLibrary3.dll"

我正在尝试使用 MSBuild 的内部结构而无需创建自定义任务,这可能吗?

TIA


这实际上取决于之后的使用。例如,您将其发送到的任务,它是否在项目列表中接受,您想调用它一次还是多次?

如果您想调用它一次,那么您可以使用 @(...) 语法,如果您想多次调用它,那么您可以使用 %(...) 语法进行批处理。

调用一次

<Message Text="Test Files: @(TestFiles->'/testcontainer:%(RecursiveDir)%(Filename)%(Extension)')"/>

多次调用

<Message Text="Test Files: /testcontainer:%(TestFiles.RecursiveDir)%(TestFiles.Filename)%(TestFiles.Extension)"/>

有关批处理的更多信息,请访问http://sedotech.com/Resources#batching http://sedotech.com/Resources#batching

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MSBuild,如何通过迭代 ItemGroup 中的文件来构造动态字符串? 的相关文章

随机推荐

  • 出口交易需要客户名称和地址 - Stripe 错误

    我正在使用 stripe SDK 创建客户并使用 API 向客户收费 但出现错误 致命错误 未捕获 状态 400 请求 req ZyqUtykjUcOqrU 根据印度法规 出口交易需要客户名称和地址 更多信息请参见 https stripe
  • SQL Server 逆透视两列

    我正在尝试旋转表格以获得 3 列 我的示例表如下 CREATE TABLE tbl1 A1 int cA1 int A2 int cA2 int A3 int cA3 int GO INSERT INTO tbl1 VALUES 60 2
  • Wt C++ Web 框架的主机,部署问题

    我想知道 justhost com 是否足以托管 Wt C 网站 应用程序 它确实允许 FTP 和 SSH 访问http richelbilderbeek nl CppWtDeployGlobalHosted htm http richel
  • pyinstaller 是否有像 gcc -static 这样的参数?

    我有一个类似的问题 有没有办法将 Python 程序编译为二进制并将其与 Scratch Dockerfile 一起使用 https stackoverflow com questions 62581924 is there a way t
  • 在给定图上绘制水平线

    如何向现有绘图添加水平线 Use axhline https matplotlib org stable api as gen matplotlib pyplot axhline html 水平轴线 例如 这会在以下位置绘制一条水平线y 0
  • GUI 中的 __init__ 与 tkinter

    我正在学习使用 Tkinter 使用 python 创建简单的 GUI 我目前正在使用 python 文档作为参考 link http docs python org 2 library tkinter html 我想做的第一件事是理解那里
  • Spark:从 RDD[X] 生成所有可能组合的 RDD[(X, X)]

    Spark 中是否可以从 scala 集合中实现 combinations 函数 Iterates over combinations return An Iterator which traverses the possible n el
  • 矩阵/向量乘法顺序

    我在网上阅读了十几篇关于 OpenGL 中旋转 平移和缩放矩阵乘法的正确顺序的文章 然而 现在我开始自己实现它 我真的很困惑 假设在我的代码中我正在计算变换矩阵 并将其作为一个结果矩阵传递给着色器 shader SetUniform u M
  • 我可以使用 vue test utils 通过 ref 选择一个元素吗

    如果我有一张图片 img class pineapple src pineapple jpg 我可以使用 ref expect wrapper find refs pineapple exists toBe true 代替 expect w
  • 使用 iTextSharp 提取路径和形状

    iTextSharp 支持创建形状和路径PdfContentByte类 您可以在那里设置颜色并绘制曲线和基本元素 是否有一种机制可以以其他方式执行 我可以通过致电获取内容PdfReader GetPageContent 但我没有找到一个 解
  • 如何将数据帧行分组到pandas groupby列表中

    给定一个数据框 我想对第一列进行分组 并将第二列作为行中的列表获取 这样数据框如下 a b A 1 A 2 B 5 B 5 B 4 C 6 becomes A 1 2 B 5 5 4 C 6 我该怎么做呢 您可以使用以下方法执行此操作gro
  • 对顺序 SQL 记录进行分组

    寻找一种将连续时钟记录分组到单行中的方法 源系统具有身份列 员工 ID 日期和输入 输出标志 1 输入 2 输出 请注意 ID EmployeeID DATE InOut 1019374 5890 2008 08 19 14 07 14 1
  • 如何在 Pytube 中结合音频和视频?

    我正在尝试编写一段代码 在 Python 3 6 上使用 Pytube 下载 YouTube 视频 但对于大多数视频 渐进式下载 同一文件中的音频和视频 格式最多只能提供 360p 所以我想分别下载音频和视频文件 然后合并起来 我能够下载音
  • 在不更改值顺序的情况下对因子的级别进行重新排序

    我有包含一些数值变量和一些分类变量的数据框factor变量 这些因素的级别顺序不是我想要的方式 numbers lt 1 4 letters lt factor c a b c d df lt data frame numbers lett
  • 合并后,如何跟踪提交的来源?

    我的公司不维护存储库git 我们有效地使用 CVS 但为了我自己的理智 我在本地保留了一个存储库 过去 我想提出与以下相关的提交 bug report abcde 我可以通过 grep 查找提交消息bug report abcde并浏览它们
  • 将 apk 上传到市场时出现错误

    发生意外错误 请稍后再试 是我在 我尝试上传我签名的apk 完成应用程序后 我使用导出签名应用程序工具来生成密钥 为什么我会收到此错误 我发现只需退出并返回即可解决我的问题 使用火狐浏览器
  • 方向更改后未调用 Fragment 的 onActivityResult

    请注意 此问题与以下问题不重复 https stackoverflow com questions 19006776 onactivityresult not working with fragments https stackoverfl
  • Java:地图包含等于或小于另一个地图

    如何检查 1 个子集是否包含小于或等于另一个子集 下面是 SMap 和 TMap 在此示例中 执行方程式将返回 false sMap entrySet containsAll tMap entrySet 我相信它返回 false 因为它试图
  • 带有角度的人类可读日期的时间戳

    是否有内置的角度过滤器将我的unix时间戳转换为人类可读的日期格式 我已经尝试过以下方法 time date medium 但它给出了错误的结果 1232346882 gives Jan 15 1970 7 19 06 AM 我该如何解决这
  • 使用 MSBuild,如何通过迭代 ItemGroup 中的文件来构造动态字符串?

    我需要创建多个 testcontainer 参数以输入到执行 MsTest 的任务中 我有以下内容