Batch file 包含批处理文件的Nant生成文件未退出,出现错误
我在nant构建文件中遇到了一个小问题 简介:我们有两个独立的构建文件EX(web和DB),分别称为Sequentially nant-buildfile:web.build nant-buildfile:db.build 为了节省时间,我们通过添加一个bat文件并在bat文件中同时调用web和db来并行构建它Batch file 包含批处理文件的Nant生成文件未退出,出现错误,batch-file,msbuild,nant,Batch File,Msbuild,Nant,我在nant构建文件中遇到了一个小问题 简介:我们有两个独立的构建文件EX(web和DB),分别称为Sequentially nant-buildfile:web.build nant-buildfile:db.build 为了节省时间,我们通过添加一个bat文件并在bat文件中同时调用web和db来并行构建它 parallel.bat: 启动web.bat 启动db.bat web.bat: nant-buildfile:web.build 蝙蝠 nant-buildfile:db.buil
Vishal在每个批处理文件中添加一个
Wait
命令。这将允许NAnt在继续执行其他命令之前完成相应批处理文件的执行
更新:
参考
您编辑的NANT代码:
<target name="build" >
<exec file="Parallel.bat" />
<other stuff..>
<call target="others"/>
</target>
我的建议…
<target name="build" >
<echo message="Starting Parallel.bat file" />
<call target="Execute.Parallel.batch" />
<echo message="This means the Parellel target was successful..Moving on..." />
<other stuff..>
<call target="others"/>
</target>
<target name="Execute.Parallel.batch" >
<exec file="Parallel.bat" />
</target>
Nant文件应该执行一个控制所有其他目标的主目标。由于NAnt本身按顺序执行每个目标,这意味着如果批处理文件失败,它将导致NAnt也失败,因此在Parallel.bat目标之后不会执行任何其他目标。我已经有了等待命令。执行两个批处理文件后,如果任何批处理文件失败(msbuild)。构建仍在继续进行,但没有停止。我认为设置parallel.bat的方法是,它仍将按顺序运行。请参阅更新的答案以获取另一篇文章,您可以引用该文章以获得parallel.bat文件的正确格式。此msbuild是否仅是web.bat文件的一部分?如果是这样的话,就像你说的,它不应该依赖于其他人,对吗?并行运行将允许您同时执行所有单个组件,但如果其中一个组件出现故障,则不会影响另一个组件,因为它“并行运行”。如果一个失败了,你想让一切停止,那么你需要按顺序运行它们。。。但是我在一个构建文件中调用parallel.bat文件,如果失败(检查错误级别,我怎么做)。整个构建文件应该退出?在这种情况下,它可能会退出。如何设置生成文件。我会为parallel.bat文件创建一个目标。这样,任何bat文件的故障都将在该目标处停止并退出。。你有这样的安排吗?