在我的解决方案中,某些项目具有需要在最后运行的任务,例如将文件复制到各个位置.我们用以下方法实现AfterTargets="Build":
<Target Name="CopyStuff" AfterTargets="Build">
<Copy SourceFiles="..." DestinationFolder="..." />
</Target>
Run Code Online (Sandbox Code Playgroud)
如果有效.但是,在构建解决方案(而不是单个项目!)时,如果复制失败,我们会收到红色构建警告,但msbuild(因此TFS构建)成功:
> msbuild /t:clean;build my.sln
(...)
(in red...) error MSB3021: Unable to copy file (...)
> echo %errorlevel%
0 <<<<<<< This means succeeded
Run Code Online (Sandbox Code Playgroud)
据我所知,这是因为msbuild认为只要主要的"Build"目标通过,一切都会过去.
我们的解决方法 - BeforeTargets="AfterBuild"将目标更改为,将目标置于Build目标中.但是,这需要了解"构建"目标的内容,并且可能不适用于其他项目类型.
题:
AfterTargets="Build"失败的解决方案构建失败?AfterTargets="Build"到他们的项目中?| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |