Когда вам нужно отладить веб-сайт, размещенный на IIS Express, вы обычно не перезапускаете его заново, каждый раз, когда вам нужно перестроить свой код. Вы просто присоединяете VS к процессу. И скрипт макросов очень помогает:
Public Module AttachToProcess
Public Sub AttachToWebServer()
Dim attached As Boolean = False
Dim proc As EnvDTE.Process
For Each proc In DTE.Debugger.LocalProcesses
If (Right(proc.Name, 14) = "iisexpress.exe") Then
proc.Attach()
attached = True
Exit For
End If
Next
If attached = False Then
MsgBox("iisexpress.exe is not running")
End If
End Sub
End Module
Вы можете назначить нажатие клавиши и вуаля. Единственная проблема заключается в том, что если ваше решение содержит более одного веб-приложения, будет несколько процессов iisexpress.exe с разными идентификаторами PID, и VS иногда будет выбирать неправильный.
Вопрос: возможно ли открыть диалоговое окно, если запущено более одного iisexpress.exe для выбора правильного?
Конечно, вы всегда можете использовать диалоговое окно «Присоединить к процессу» по умолчанию, но оно не будет таким быстрым, как использование сценария и сочетания клавиш.