gpt4 book ai didi

visual-studio-2010 - Visual Studio 2010输出面板不更新Postbuild输出

转载 作者:行者123 更新时间:2023-12-01 01:32:38 26 4
gpt4 key购买 nike

我最近才从VS2008升级到VS2010。因为我做了很多远程调试(通过VPN),所以在运行之前,我使用Post-Build事件将已编译的二进制文件和PDB复制到目标计算机上。我通过调用一个执行Robocopy的批处理文件来做到这一点。

在VS2008中,“输出”面板将实时显示robocopy的输出,即:

5>          Newer             421376    RadarController.pdb
5> 0%
5> 14%
5> 29%
5> 43%
5> 58%
5> 72%
...

但是,在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任务可以解决此问题。

更新:
我只是尝试在我的msbuild文件中使用<Exec Command="" />而不是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

关于visual-studio-2010 - Visual Studio 2010输出面板不更新Postbuild输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3800587/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com