VSTS Copy and Publish Build Artifacts 复制整个项目而不是必要的文件
VSTS Copy and Publish Build Artifacts copying the whole project instead of the necessary files
我正在尝试将我的构建复制到特定的放置位置。但不是复制一些重要的文件和目录,而是复制所有解决方案文件和目录,如 .csproj 文件和 .csfiles 以及那里存在的所有文件夹。
我只想将 dll(项目的项目 dll 和引用 dll)和一些数据文件夹和文件复制到放置位置,以便我可以使用它们来执行我的测试用例。但它最终复制了整个解决方案。
以下是我用来复制和发布构建工件的设置。
谁能告诉我怎么做?
注意:当我尝试将 $(build.sourcesdirectory)\bin 放入副本根目录时,它给了我一个错误 "Cannot bind argument to parameter 'Path' because it is null".
我也试过只在我的内容中放入 **.dll,但它什么也没有复制。在放置位置创建的文件夹为空。
您告诉它从构建代理的根目录发布 **/*test*.dll
。该最小匹配模式表示 "find everything in every subfolder that matches test.dll",因此您得到的结果不足为奇。
您可能想要做的是指定测试项目的二进制输出位置的路径。如果不了解您的代码结构或您使用的 MSBuild 变量 providing/overriding,就不可能提供更多指导。看看 documentation on pre-defined variables 应该会给你一些想法。
一般来说,您希望将输出文件夹(通过 MSBuild 参数)设置为 $(Build.ArtifactStagingDirectory)
,因此只有构建输出到那里。然后你可以使用它作为你的复制根。
我正在尝试将我的构建复制到特定的放置位置。但不是复制一些重要的文件和目录,而是复制所有解决方案文件和目录,如 .csproj 文件和 .csfiles 以及那里存在的所有文件夹。 我只想将 dll(项目的项目 dll 和引用 dll)和一些数据文件夹和文件复制到放置位置,以便我可以使用它们来执行我的测试用例。但它最终复制了整个解决方案。
以下是我用来复制和发布构建工件的设置。
注意:当我尝试将 $(build.sourcesdirectory)\bin 放入副本根目录时,它给了我一个错误 "Cannot bind argument to parameter 'Path' because it is null".
我也试过只在我的内容中放入 **.dll,但它什么也没有复制。在放置位置创建的文件夹为空。
您告诉它从构建代理的根目录发布 **/*test*.dll
。该最小匹配模式表示 "find everything in every subfolder that matches test.dll",因此您得到的结果不足为奇。
您可能想要做的是指定测试项目的二进制输出位置的路径。如果不了解您的代码结构或您使用的 MSBuild 变量 providing/overriding,就不可能提供更多指导。看看 documentation on pre-defined variables 应该会给你一些想法。
一般来说,您希望将输出文件夹(通过 MSBuild 参数)设置为 $(Build.ArtifactStagingDirectory)
,因此只有构建输出到那里。然后你可以使用它作为你的复制根。