我有一个需要一段时间才能打开的解决方案。(5 分钟)由于我们的流程和程序,我经常在同一解决方案的不同分支之间来回切换。我每天多次关闭和加载同一解决方案的不同变体。这超过了 15 分钟 - 仅仅浪费了 30 分钟等待我的 Visual Studio。我将过时的计算机硬件归咎于罪魁祸首。我想捕获解决方案加载时间以及构建时间的指标。我的目标是将这些指标呈现给管理层。
我正在使用 Visual Studio 宏来跟踪此信息。
就目前而言,我正在记录这三个事件 EnvDTE.SolutionEvents.BeforeClosing、EnvDTE.SolutionEvents.AfterClosing、EnvDTE.SolutionEvents.Opened 的时间戳。
问题是,SolutionEvents.Opened 在整个解决方案加载后触发。我需要从开始加载解决方案到完成时生成时间戳。
如何知道 Visual Studio 何时开始加载解决方案?这样我就可以将其与完成加载时进行比较。
下面是我的代码(我的 LogWithTimeStamp() 函数只是将字符串写入以当前时间戳为前缀的文件:
Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing
LogWithTimeStamp("SolutionEvents.BeforeClosing")
End Sub
Private Sub SolutionEvents_AfterClosing() Handles SolutionEvents.AfterClosing
LogWithTimeStamp("SolutionEvents.AfterClosing")
End Sub
Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
LogWithTimeStamp("SolutionEvents.Opened")
End Sub