没有project\bin\configuration的所有解决方案输出的MSBuild复制任务
我有一个MSBuild脚本,可以在我的存储库中构建所有解决方案,但现在我需要一种将所有输出复制到构建目录的方法。我试图在构建任务中使用Output参数来知道要复制哪些文件,但是RecursiveDir不能与该参数一起使用:(您也可以在这里看到我的构建脚本)。无论如何,我有这个文件夹结构:没有project\bin\configuration的所有解决方案输出的MSBuild复制任务,msbuild,Msbuild,我有一个MSBuild脚本,可以在我的存储库中构建所有解决方案,但现在我需要一种将所有输出复制到构建目录的方法。我试图在构建任务中使用Output参数来知道要复制哪些文件,但是RecursiveDir不能与该参数一起使用:(您也可以在这里看到我的构建脚本)。无论如何,我有这个文件夹结构: Repository | +- Solution1 | | | +- ProjectA | | | | | +- bin | | | | | +- Rel
Repository
|
+- Solution1
| |
| +- ProjectA
| | |
| | +- bin
| | |
| | +- Release
| |
| +- ProjectB
| |
| +- bin
| |
| +- Release
|
+- Solution2
| |
| +- ProjectA
| |
| +- bin
| |
| +- x86
| |
| +-Release
| |
| +- images
|
...etc
Build
|
+- Solution1
|
+- Solution2
| |
| +- images
|
...etc
基本上,我只想将每个发行版文件夹的内容(包括子文件夹结构和内容)复制到以下结构中:
Repository
|
+- Solution1
| |
| +- ProjectA
| | |
| | +- bin
| | |
| | +- Release
| |
| +- ProjectB
| |
| +- bin
| |
| +- Release
|
+- Solution2
| |
| +- ProjectA
| |
| +- bin
| |
| +- x86
| |
| +-Release
| |
| +- images
|
...etc
Build
|
+- Solution1
|
+- Solution2
| |
| +- images
|
...etc
也就是说,我想剥离路径的Project\bin\platform\configuration
部分。我不想手动包含每个项目,因为新项目经常会弹出,不必每次都更新构建脚本就好了。看起来很简单,但我想不出来
我已经看到了,但我并不真正理解它,所以我不知道如何在这里应用它。您是否尝试过覆盖输出路径参数? 例如,如果对每个解决方案调用msbuild
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe $(SolutionName) /p:OutputPath="%CD%\Build"
这将重定向项目的输出,而无需处理任何配置。
只需在\Build中查找您的输出(其内容取决于您的项目类型)这可以在命令行中一次为单个解决方案工作,谢谢!但是我似乎无法在MSBuild任务中使用它?这样做似乎没有什么不同:哦,我的坏。。。DestFolder以开始。\n这当然会计算到解决方案目录。。。我现在应该可以自己解决剩下的问题了:)