【发布时间】:2014-10-05 19:06:01
【问题描述】:
我创建了一个目标,它调用不同的子目标来完成特定的工作,例如复制文件并对它们运行操作。
现在我想用不同的参数 (=properties) 多次调用这个目标
当前命令行如下所示:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe d:\Sync\sync.msbuild.xml /p:source="D:\temp" /p:destination="P:\d\temp"
现在这个命令行经常被调用,源和目标的属性不同。
我想创建一个 msbuild“项目”文件,该文件从 sync.msbuild.xml 导入构建目标(这部分很简单)并定义一个调用导入的默认目标或任何其他目标的大目标。
我已经探索了一些选项,我的结论是我想避免使用CallTarget,因为我需要使用CreateProperty 创建属性,从而导致过于冗长(我试图用“项目”构建文件。
通过 Exec 的另一个选项也需要太多冗余,我需要存储 MSBuild 的路径并生成“子”msbuild 实例,这也不理想。这相当于让一个批处理文件执行 msbuild。
是否有适当的解决方案?是否有Tasks 可以调用目标。 (不是通过创建调用 Process.Start 的代码片段任务)
我不想在工具链中引入批处理、python 或其他任何东西。
【问题讨论】:
-
您能否在 msbuild 或伪代码中举例说明您希望这个大型目标准确地做什么?我读了你的问题几次,但我仍然不确定。也许你可以使用 MsBuild 任务并在项目文件本身上递归调用它,但同样,我不确定这是否是你的'重新之后
标签: msbuild