我正在尝试将构建复制到特定的放置位置。但是它不是复制一些重要的文件和目录,而是复制所有的解决方案文件和目录,例如.csproj文件和.csfiles以及那里的所有文件夹。 我只想复制dll(项目dll和项目的dll)以及一些数据文件夹和文件来删除位置,以便我可以使用它们来执行我的测试用例。但它最终会复制整个解决方案。
以下是我用于复制和发布构建工件的设置。
注意:当我尝试将$(build.sourcesdirectory)\ bin放在副本根目录中时,它给出了一个错误“无法将参数绑定到参数'Path',因为它为null”。
我也试过在我的内容中只放** .dll然后它什么都没复制。在放置位置创建的文件夹为空。
答案 0 :(得分:3)
您告诉它从构建代理的根目录发布**/*test*.dll
。那个minmatch模式说"在每个子文件夹中找到与 test .dll"相匹配的所有内容,所以你得到的结果并不令人惊讶。
您可能要做的是指定测试项目的二进制输出位置的路径。如果没有看到您的代码结构或您提供/覆盖的MSBuild变量,就无法提供更多指导。看看documentation on pre-defined variables,这应该会给你一些想法。
通常,您希望将输出文件夹(通过MSBuild参数)设置为$(Build.ArtifactStagingDirectory)
,因此只有构建输出才能到达。然后,您可以将其用作复制根目录。