在调试之前运行批处理脚本

12 浏览
0 Comments

在调试之前运行批处理脚本

我想在每次开始调试程序之前运行一个批处理脚本。

对于构建事件,可以使用pre-build事件,post-build事件来实现此功能。

对于实际的调试,我找不到任何pre-Debug、post-Debug事件。

如何实现这种情况?

我正在使用VS2008、 .net framework 3.5、c#应用程序。

我反对在应用程序中创建额外的代码行,该代码行会启动外部批处理文件的想法。

admin 更改状态以发布 2023年5月24日
0
0 Comments

您可以使用VS宏。

我也遇到了同样的问题,到目前为止这是我最好的解决方法。

Dim MustUpdateDB As Boolean
    Private Sub DebuggerEvents_OnEnterRunMode(ByVal Reason As EnvDTE.dbgEventReason) Handles DebuggerEvents.OnEnterRunMode
        If (MustUpdateDB) Then
            MsgBox("Start debug operation", MsgBoxStyle.OkOnly, "TITLE")
            REM DO WHATEVER COMMAND HERE
            REM  System.Diagnostics.Process.Start("C:\listfiles.bat")
            MustUpdateDB = False
        End If
    End Sub
    Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
        MsgBox("Build Done", MsgBoxStyle.OkOnly, "Title")
        MustUpdateDB = True
    End Sub

这里有一个非常好的解释,说明如何将事件处理程序添加到宏中此处

到目前为止,我唯一的问题是想弄清楚如何获取当前调试的应用程序的活动目录

0
0 Comments

我知道你想避免编写额外的代码,但是在你的Main函数中,你可以使用Debugger.IsAttached()来为你开始工作。

例如:

if (Debugger.IsAttached)
{
     System.Diagnostics.Process.Start(@"C:\myBatchFile.bat");
}

0