Configuration 什么';将TeamCity工件复制到目标路径根目录的正确通配符语法是什么?

Configuration 什么';将TeamCity工件复制到目标路径根目录的正确通配符语法是什么?,configuration,teamcity,artifacts,Configuration,Teamcity,Artifacts,我在TeamCity工件配置中使用了通配符语法。我想从任何文件夹中获取与模式myproject.*.dll匹配的每个文件,并将每个dll放置在工件路径的根目录中 以下是我目前掌握的情况: **/obj/Debug/myproject.*.dll => / 这是获取所有dll,但它将它们放在与源代码相同的文件夹结构中,而不是在我得到的工件“web/obj/debug/myproject.web.dll”中以“myproject.web.dll”结束 我在这里遗漏了什么?我不确定您是否可以在

我在TeamCity工件配置中使用了通配符语法。我想从任何文件夹中获取与模式myproject.*.dll匹配的每个文件,并将每个dll放置在工件路径的根目录中

以下是我目前掌握的情况:

**/obj/Debug/myproject.*.dll => /
这是获取所有dll,但它将它们放在与源代码相同的文件夹结构中,而不是在我得到的工件“web/obj/debug/myproject.web.dll”中以“myproject.web.dll”结束


我在这里遗漏了什么?

我不确定您是否可以在不复制结构的情况下使用工件根。文件规定

如果省略了目标目录,则 文件发布在文件的根目录中 构建工件

您是否可以不使用指定的文件夹名(如dist),这会导致问题?如果是这样,他们是什么

e、 g

更新-在文档中找到更多信息

这些文件将被发布 目录的结构 由通配符(目录)匹配 与“静态”文本匹配的文本将不会被删除 创建)。也就是说,TeamCity将 从开始创建目录 在中首次出现通配符 模式


因此,如果你能更明确一点,它可能会导致一个更扁平的结构。

恐怕你不能简单地做到这一点。 您应该将*.dll本地收集到一个地方,然后使用TeamCity的工件规则将它们全部复制到根目录

或者,您可以手动输入所有路径(不带**部分)


这就是它在TC中的工作方式。

同样,您只需将整个目录结构保存在“dist”文件夹中即可。事实上,如果我想将文件保存在根目录中,我真的不需要“=>/”语法。至于这会导致问题的原因,很简单,这是一个包含许多项目的大型解决方案,一旦DLL在文件夹结构中被捕获,就很难轻松确定您拥有什么。您需要遍历文件夹树,而不是一眼就能看到所有工件。虽然这不是我想要的答案,但不幸的是,它似乎是正确的答案。
**/obj/Debug/myproject.*.dll => dist