2009-08-26 7 views
4

Je déploie une application C# .NET à l'aide de ClickOnce et j'ai écrit du code pour mettre à jour l'application par programmation (sans utiliser l'option dans les paramètres de publication du projet).Débogage des fonctions de déploiement ClickOnce

Cependant, je veux tester la fonctionnalité de ce code avant de le déployer (pour des raisons évidentes). Comment puis-je faire cela? Le code a une vérification pour voir si l'application est déployée en réseau et lors de l'exécution des sessions de débogage, cet indicateur est faux. Et l'accès à ApplicationDeployment.CurrentDeployment entraîne l'affichage d'une exception.

Répondre

4

Je me demande si vous pouvez le publier sur votre serveur de dev, lancez-le à partir de là (donc ça compte comme déployé sur le réseau), puis attachez votre EDI au processus? (Déboguer -> Attacher au processus)

Si votre code de mise à jour s'exécute tôt dans le système, vous pouvez introduire une pause; par exemple, j'ai tendance à utiliser la plaque de chaudière qui vérifie (Main) pour ctrl + alt et affiche une console de débogage supplémentaire (par exemple, montrant les appels de service Web à mesure qu'ils se produisent, ce qui facilite le débogage des problèmes de connectivité sur un système en direct en promenant les utilisateurs à travers "tenir ces clés ... maintenant que dit-il quand le bug arrive?"). Par la même logique, vous pouvez afficher un MessageBox ("debug moode, attachez votre débogueur maintenant").

+0

Merci, je vais essayer. –

9

Vous pouvez le déboguer après avoir ajouté ce code:

System.Diagnostics.Debugger.Launch(); 

Cela vous montrera une boîte de dialogue qui vous permet de sélectionner votre débogueur pour attacher.

Questions connexes