Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins和MSBuild和Copy工件插件以及对多个项目的正确使用_Msbuild_Jenkins - Fatal编程技术网

Jenkins和MSBuild和Copy工件插件以及对多个项目的正确使用

Jenkins和MSBuild和Copy工件插件以及对多个项目的正确使用,msbuild,jenkins,Msbuild,Jenkins,我的问题可以归结为这个基本情况:我们的解决方案有两个项目,A和B,然后项目C将其包含在构建过程中 当有人推动项目A或B时,Jenkins使用MSBuild构建项目,归档工件,然后开始构建C 当C开始时,它有四个需要运行的“复制工件”任务:首先,它将工件从复制到。\A\obj\Release\,然后将相同的工件复制到。\A\bin\Release。然后对项目B重复,然后构建自己 没错:对于C所依赖的每个项目,复制工件必须运行两次,否则MSBuild会检测到某些内容已过时,而整个过程都是从头开始构建

我的问题可以归结为这个基本情况:我们的解决方案有两个项目,A和B,然后项目C将其包含在构建过程中

当有人推动项目A或B时,Jenkins使用MSBuild构建项目,归档工件,然后开始构建C

当C开始时,它有四个需要运行的“复制工件”任务:首先,它将工件从复制到。\A\obj\Release\,然后将相同的工件复制到。\A\bin\Release。然后对项目B重复,然后构建自己

没错:对于C所依赖的每个项目,复制工件必须运行两次,否则MSBuild会检测到某些内容已过时,而整个过程都是从头开始构建的

有没有更简单的方法?我是否可以向MSBuild(或配置.csproj)传递一个参数,该参数表示“仅生成此项目,假设其他项目二进制文件是最新的,而不考虑时间戳”?有没有更好的插件可以帮我解决这个问题


在现实世界中,我们有将近20个不同的项目,它们之间有分层的依赖关系,这真的很烦人(而且令人困惑)。

您可以将BuildProjectReferences=false传递到MSBuild中,告诉它跳过自动生成引用,只生成所指示的项目。

我怎么会错过这个呢。这可能正是我需要的。