2011-07-18 11 views
0

IIS ExpressでホストされているWebサイトをデバッグする必要がある場合は、コードを再構築する必要があるたびに、通常は再起動しないでください。 VSをプロセスにアタッチするだけです。マクロスクリプトは多くの役に立ちます。Visual StudioマクロのCombobox

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 

キーストロークとボイラーを割り当てることができます。唯一の問題は、ソリューションに複数のWebアプリケーションが含まれている場合、異なるPIDを持つ複数のiisexpress.exeプロセスが存在し、VSが間違ったものを選択することがある場合です。

質問:複数のiisexpress.exeが実行されていて、適切なものを選択している場合は、ダイアログをポップアップすることはできますか?

もちろん、デフォルトの「Attach To Proccess」ダイアログを使用することはできますが、そのスクリプトやキーボードショートカットを使用するほど速くはありません。

答えて

1

ダイアログを開くことはできますが、最も簡単なことはありません。すべてのUIコードをマクロ、EGレイアウト、コントロールのサイズなどに配置する必要があります。

これは約200行のコードで、ここにすべてを置くのではなく、私のブログにあなたを延期しますhttp://www.brianschmitt.com/2010/09/save-and-change-tool-layout-in-visual.html

[ビュー切り替え]ダイアログボックスを再利用して、IISExpressのすべてのインスタンスをリストすることができます。あなたが必要とすることをするのに多くの時間を費やすべきではありません。

+0

IIS Expressから通常のIISに切り替えたばかりです。しかし、リンクのおかげで。他のシナリオで役立つかもしれません – Agzam