MSBuild复制命令的冗长性

10
在MSBuild任务中,您可以设置总体详细程度,但我真正想做的是设置“复制”命令的详细程度。 在“正常”详细程度设置下,它会为它正在复制的每个文件打印一行,而在我的情况下,这是成千上万的过度详细的行。
我没有看到关于Copy任务的此类属性的任何文档,所以我想知道是否还有其他方法...或者人们是否只是放弃内置复制任务并使用带有自己标志的robocopy。

完全一样的问题。完美。 - C.J.
2个回答

1

您可以编写自己的构建记录器。将复制任务添加到特定目标,并从该特定目标过滤构建消息。

这里有一个不错的示例,展示如何编写自定义记录器。
您需要在MSBuild命令行中传递/logger参数以使用您的自定义记录器。


如果您能说明如何使用它,那将非常好。 - C.J.
无法工作。您可以添加消息,但不能删除发送到记录器和标准输出的消息。 - C.J.

0

您可以编写自己的复制任务,添加一个可选的详细程度参数。


这是我大致上做的事情。实际上,我使用了最新版本的MSBuild Community Tasks(http://msbuildtasks.tigris.org/),它包含了一个robocopy任务,可以跳过日志文件和目录的记录。它还具有许多其他功能(镜像、重试等),使其比默认的Copy任务更加方便。 - Tom Lianza
这不是一个很好的答案,因为它没有解释如何做这样的事情,也没有链接到任何解释。 - stricq
仅为冗长起见,编写自定义任务并没有任何意义。不确定为什么微软没有添加此支持,因为他们实际上已经为Robocopy添加了该支持。 - Ven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接