最近、Visual Studio 2003で問題が発生しました。ソリューションを数回実行すると、この1回の実行で、多くのオブジェクトが欠落している、または多くのオブジェクトが利用できないことがわかります。それらのスコープ。
この問題は、再構築後に解決されます(プロジェクトが変更されたかどうかに関係なく、ソリューション全体が再構築されます)。これはかなり頻繁に行われるため、[ソリューションの再構築]オプションにキーボードショートカットを割り当てました。この後、問題なくソリューションを実行できます。
ここで、その一歩を踏み出し、ソリューションの再構築が完了した後にソリューションを自動的に実行したいと思います。マクロを使用してみましたが、生成されたコードを確認した後、次のようになりました。
Sub Rebuild()
DTE.ExecuteCommand("Build.RebuildSolution")
DTE.Debugger.Go(False)
End Sub
Build.RebuildSolution
ExecuteCommandはコマンドを起動するとすぐに返されるDTE.Debuger.Go(False)
ため、ソリューションが既に構築されているため実行できないことに気付きました。
必要なのは、Debugger.Go()がExecuteCommandが完了するのを待つ方法、またはRebuildが完了するまで次の行が実行されないソリューションを再構築するための明確な方法です。