在调试之前运行批处理脚本
在调试之前运行批处理脚本
我想在每次开始调试程序之前运行一个批处理脚本。
对于构建事件,可以使用pre-build事件,post-build事件来实现此功能。
对于实际的调试,我找不到任何pre-Debug、post-Debug事件。
如何实现这种情况?
我正在使用VS2008、 .net framework 3.5、c#应用程序。
我反对在应用程序中创建额外的代码行,该代码行会启动外部批处理文件的想法。
admin 更改状态以发布 2023年5月24日
您可以使用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
这里有一个非常好的解释,说明如何将事件处理程序添加到宏中此处
到目前为止,我唯一的问题是想弄清楚如何获取当前调试的应用程序的活动目录
我知道你想避免编写额外的代码,但是在你的Main
函数中,你可以使用Debugger.IsAttached()
来为你开始工作。
例如:
if (Debugger.IsAttached) { System.Diagnostics.Process.Start(@"C:\myBatchFile.bat"); }