2008-12-03 10 views
0

J'ai un site ASP.NET (2.0). Je suis sur ma boîte de dev utilisant V Studio 2008 et IIS. J'ai un projet de contrôle utilisateur distinct qui est appelé à partir d'une fonction javascript dans la page default.aspx. Le projet User Control est dans une autre solution.Débogage d'un contrôle utilisateur à partir d'ASP.NET

L'application s'exécute comme prévu. Le contrôle de l'utilisateur est appelé et tout va bien. Eh bien pas tout à fait.

Je ne peux pas entrer dans le projet User Control, c'est-à-dire le déboguer. Je peux définir des points d'arrêt, mais ils ne sont jamais piégés. Je peux déboguer toutes les autres parties du site à la fois dans le script et le code sans aucun problème. Le contrôle utilisateur est généré dans DEBUG au même emplacement que la page default.aspx. Ce que j'ai déjà essayé: Débogage de script activé dans IE.

Ajout du projet de contrôle utilisateur à la même solution de site Web Débogueur attaché à l'exécution de l'instance d'IE à partir de Visual Studio Débogage activé sur le site. a construit le contrôle de l'utilisateur en mode débogage et nous avons vérifié le PDB est dans le même répertoire

est Ci-dessous un exemple de code qui devrait aider:

default.aspx: (Abattez par souci de concision)

fonction

LoadMethod() { essayez { LoadControl.Ping();

 } 
     catch (e) //if the DLL didn't run assume there is a trust problem. 
     {  
     } 
    } 

Quand je vais à l'étape dans l'appel à LoadControl.Ping, le débogueur à seulement quelques pas sur cette ligne de code.

Veuillez ne donner votre avis que si vous l'avez réellement fait en pratique.

Répondre

1
  • Ajouter le projet de contrôle utilisateur à la solution que vous voulez déboguer dans.
  • Retirez la référence que vous avez le projet de contrôle utilisateur
  • Définissez ensuite la référence du projet d'appel, être l'utilisateur local projet de contrôle

Edit: vous pouvez aussi faire un nettoyage après la suppression de la référence à la deuxième étape - vérifiez que votre bac ne dispose pas d'une copie de la dll de contrôle utilisateur

0

Ceci est une vieille question, mais il reste encore sur Google, alors voici quelque chose qui pourrait aider. This post parle de modules dotnetnuke, mais je pense que le concept est ce dont vous parliez - Projet web principal avec des projets Web secondaires qui contiennent des contrôles utilisateur. Quelque chose que l'article de blog ne mentionne pas: Une fois que vous avez configuré votre projet pour utiliser IIS plutôt que webdevwebserver et définir les URL de remplacement, vous devez parfois faire quelque chose de plus pour que le débogage fonctionne. Cliquez avec le bouton droit sur le projet -> Déboguer -> Démarrer une nouvelle instance. Cela semble être la seule façon de déboguer de manière fiable un de nos projets usercontrol.Rappelez-vous, ce projet particulier a été traîné à coups de pied et de cris de 1.1 à 3.5, donc il est probablement mécontent de quelques autres choses :-)