2013-07-09 14 views
5

Ho uno scenario in cui quando avvio il debug di un progetto OOB Silverlight in Visual Studio il debugger si collega automaticamente a questo, ma non si collega al processo iisexpress che sta eseguendo il servizio web a cui si connette l'applicazione silverlight. Avvia iisexpress ma non si collega automaticamente. Devo andare manualmente su Debug-> Allega per elaborare, trovare iisexpress e collegarlo ad esso per eseguire il debug del codice sia client che serveride.Componente aggiuntivo di Visual Studio 2012 - Come collegare un debugger a un processo

Dato che VS2012 ha rimosso i macro, non posso utilizzarlo per collegarlo automaticamente, quindi sto cercando di creare un semplice componente aggiuntivo per farlo.

Sono bloccato su come collegarlo al processo. Ho provato i seguenti metodi, che entrambi sparano al momento giusto e trovano il processo di iisexpress, ma tutti e 3 danno delle eccezioni quando provano a collegarsi ad esso. Qualcuno può suggerire come posso farlo?

private void DebuggerEventsOnOnEnterRunMode(dbgEventReason reason) 
{ 
    if (reason == dbgEventReason.dbgEventReasonLaunchProgram) 
    { 
     foreach (Process process in _applicationObject.Debugger.LocalProcesses) 
     { 
      var nameparts = process.Name.Split(Path.DirectorySeparatorChar); 
      string name = nameparts[nameparts.Length - 1]; 
      if (name.Contains("iisexpress")) 
        process.Attach(); 
        // also tried: _applicationObject.ExecuteCommand("Debug.AttachToProcess", process.Name); 
        // and: _applicationObject.ExecuteCommand("Debug.AttachToProcess", name); 
     } 
    } 
} 
+0

un po 'correlato: http://stackoverflow.com/q/6696746/10245 –

risposta

4

funziona sia per VS 2010 & VS 2012:

Solution -> tasto destro -> Imposta progetti di avvio -> Multiple avvio Progetti

Scegli le 2 progetti e in azione impostarlo su Avviare diverso da (per il secondo progetto) possibile Avviare senza eseguire debug.

+0

Grazie! Questo fa anche il trucco in VS2012; semplicemente impostandoli entrambi su "Start" e senza bisogno di aggiungere. :) – mutex