Met*_*450 5 visual-studio-2010
我最近刚从 VS2008 升级到 VS2010。因为我进行了大量远程调试(通过 VPN),所以我使用 Post-Build 事件在运行之前将编译后的二进制文件和 PDB 复制到目标机器上。我通过调用(除其他外)执行 Robocopy 的批处理文件来做到这一点。
在 VS2008 中,Output 面板会实时显示 robocopy 的输出,即:
5> Newer 421376 RadarController.pdb
5> 0%
5> 14%
5> 29%
5> 43%
5> 58%
5> 72%
...
Run Code Online (Sandbox Code Playgroud)
然而,在 VS2010 中,它不是一点一点地显示 Post-Build 事件的进度,而是简单地锁定,直到整个事件完成 - 然后输出全部立即出现。在通过较慢的网络连接进行复制时,这是一个特殊问题,因为我不知道一次可能几分钟内发生了什么。无法猜测复制会持续 5 秒还是 5 分钟;如果我不熟悉编译器事件的顺序,我什至不知道它在复制。
这是 2010 年的已知错误,还是有人知道现有的解决方法?
谢谢!
编辑 1:该项目是 C#。
编辑 2:我使用的确切 Robocopy 命令是 robocopy.exe . \\192.168.5.7\Release /NJS /NJH /Z /W:1 /R:5 /E
我想知道使用 msbuild<exec>任务而不是构建后事件是否可以解决此问题?
例如,如果该<exec>任务不满足您的要求,则执行与该<exec>任务类似的操作的自定义 msbuild 任务可能会解决该问题。
更新:
我只是尝试<Exec Command="" />在我的 msbuild 文件中使用 PostBuild 事件,但它仍然使 Visual Studio IDE 繁忙\无响应。
也许我们可以创建一个自定义的 msbuild 任务来调用 Application.DoEvents 来保持 UI 响应?
更新#2:我上传了一个补丁到 MSBuild Extension Pack,该补丁实现了一个名为 SmartExec 的自定义 msbuild 任务,可以解决此问题。
http://msbuildextensionpack.codeplex.com/workitem/9053
http://msbuildextensionpack.codeplex.com/SourceControl/list/patches
补丁 ID 9878
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |