2010-11-09 16 views
2

Je suis nouveau au déploiement ClickOnce et à première vue, il semble un excellent moyen de maintenir les applications .NET mis à jour avec facilité. Je développe une application simple qui stocke des informations sur une base de données .mdb et sur certains fichiers XML. J'ai compris comment utiliser le dossier "data" avec ClickOnce, et je suis en train de développer la partie de mon application qui devrait migrer les données des anciennes versions après une mise à jour ClickOnce.Débogage ClickOnce déployé application VB.NET

Maintenant, j'ai besoin de déboguer cette partie de mon code qui ne s'exécute que lorsque l'application est en mode "networkDeployed". Donc, en fait, je fais le processus très lent qui suit pour tester une nouvelle version déployée:

  • Publier l'application sur un site provisoire (je peux choisir entre un site plus rapide IIS locale ou un vrai en ligne)
  • Installation de l'application depuis le site Web de déploiement (la première fois) ou l'exécution de l'ancienne application installée de sorte qu'il attrape automatiquement mises à jour et est mis à jour ...
  • Exécution de l'application

donc, fondamentalement, j'ai deux problèmes:

  • Le processus est beaucoup trop lent:/
  • J'exécute l'application comme toutes les autres applications directement à partir du système d'exploitation, donc je ne peux pas avoir accès au débogueur ...

Je suis sûr qu'il existe une meilleure façon de tester les applications déployées de ClickOnce ... Qu'est-ce que ça pourrait être?

Répondre

4

Je n'ai pas encore d'expérience avec ClickOnce, mais si l'application s'exécute localement à partir de votre site Web provisoire et que vous disposez de fichiers PDB et de code source, vous pouvez y attacher le débogueur VisualStudio manuellement (manuellement, en utilisant l'élément de menu "Attach to process ...") et devrait toujours être capable de déboguer l'application comme vous le feriez normalement.

+0

Je vais essayer de le faire. Cela semble une excellente solution! ;) tnx –

1

J'ai dans le passé ajouté args de ligne de commande qui ne sont utilisés pour le débogage de manière à rendre l'application prétendre en mode « networkDeployed », etc.

Sinon attacher le débogueur, ou l'ajout d'un appel à Debugger. Break() à votre méthode principale est une bonne option.

+0

Il y a une commande par défaut pour le faire ou vous venez simutad être en mode networkDeployed avec une commande personnalisée? –

+0

@Luciano J'ai utilisé du code personnalisé qui a enveloppé les classes ClickOnce –

+0

Et comment vous avez géré l'objet ApplicationDeployment? pouvez-vous fournir des exemples de code? –