2011-09-23 3 views
1

J'ai une classe d'installation personnalisée C# qui ciblait initialement .net 2.0. Je l'ai reciblé à .net 4.0, et maintenant il ne fonctionne pas. J'ai prouvé cela en ajoutant Debugger.Break à des endroits intéressants.C# classe d'installation personnalisée .net 4.0 non appelée

Sous .net 2.0, les points d'arrêt sont atteints. J'ai même essayé de cibler 3.5 et ça a marché.

Je me rends compte qu'il y a des questions similaires à ce sujet mais les réponses semblent suggérer une variété de «mauvais cadre» ou «utiliser autre chose».

Merci!

Edition -

J'ai une classe d'installation

public partial class ScriptRunner : Installer 
{... 

public override void Install(System.Collections.IDictionary stateSaver) 
{ 
    System.Diagnostics.Debugger.Break(); 
    ... 

Cela a été testé en exécutant le programme d'installation (i.e. setup.exe). L'instruction break doit provoquer l'affichage d'une boîte de dialogue pour exécuter le débogueur. Sous .net 2.0/3.5 cela se produit, mais pas sous .net 4.0

+0

Sans voir le code, cela ne peut pas être répondu. Veuillez lire ceci: http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – Oded

Répondre

1

Dans .Net 4.0 l'appel au débogueur a été changé, cela m'a jeté à un moment donné.

Changer

System.Diagnostics.Debugger.Break(); 

Dans

System.Diagnostics.Debugger.Launch(); 

Fait travailler pour nous, pas sûr si cela a également travaillé pour 2,0 et 3,5 depuis que nous avons passés à 4,0 et coincés avec elle :)

+0

Fantastique! Ça marche! –

+0

Heureux de vous aider, n'oubliez pas de le marquer comme une réponse pour les personnes qui trouvent cette question dans le futur :) –

Questions connexes