2

J'utilise Visual Studio 2008, Silverlight 3 et IE 6 (ne demandez pas). Je tente de lancer et de déboguer l'application avec F5, mais le débogueur dit que mes points d'arrêt ne seront pas touchés car les symboles ne sont pas chargés.Silverlight 3 points d'arrêt ne sont pas activés lors du lancement du programme externe

Mon navigateur par défaut est en fait Firefox, mais je définis l'action de démarrage du projet pour lancer IE et le pointer sur l'URL correcte, afin que je puisse déboguer dans IE mais utiliser Firefox pour le web normal.

Si je lance le processus de cette façon sans attacher le débogueur, puis attacher après son lancement, tout va bien. Si je fais IE mon navigateur par défaut, définissez l'action de démarrage sur "Current Page", alors tout va bien. Avec IE comme navigateur par défaut, mais l'action de démarrage définie sur "Démarrer le programme externe" et le pointant sur IE, le problème réapparaît. Donc, il semble que le problème est que le lancement d'un programme externe avec le débogueur attaché ne fonctionne pas pour moi, quel que soit le navigateur par défaut.

J'ai essayé ceci avec l'application actuelle ainsi qu'un tout nouveau projet de test et les deux se comportent de la même manière.

Des conseils sur comment faire fonctionner cela? Ou suis-je condamné à faire d'IE6 mon navigateur par défaut, en définissant la page actuelle comme action de départ, et en copiant/collant tous les liens dans Firefox au lieu de cliquer dessus? :(

Répondre

0

J'ai rencontré ce avant tout la résolution des problèmes bizarres à l'appui cross-browser. Ce que vous pouvez faire est de définir créer une macro visual studio à

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 

Public Module AutoAttachMacro 

    Sub StartDebugging()    
     Dim Projs As Array 
     Dim Proj As Project 
     Projs = DTE.ActiveSolutionProjects() 
     If (Projs.Length > 0) Then 
     Proj = Projs.GetValue(0) 
     Dim Prop As EnvDTE.Property 
     Prop = DTE.Solution.Properties.Item("StartupProject") 
     Dim PrevStartup As Object 
     PrevStartup = Prop.Value 
     Prop.Value = Proj.Name 
     DTE.ExecuteCommand("Debug.StartWithoutDebugging") 
     Prop.Value = PrevStartup 
     End If 

     ' Lookup ProcessId ' 

     For Each process AS EnvDTE.Process In DTE.Debugger.LocalProcesses 
     If process.ProcessID = processId Then 
      process.Attach() 
      DTE.Debugger.CurrentProcess = process 
     End If 
     Next process  

End Module 

Merci BTW à la question/réponses suivantes pour l'aide: How to start a single project without debugging in Visual Studio?