2009-05-22 6 views
3

Je ne reçois pas le message d'erreur normal disant que le débogage n'est pas activé message d'erreur rouge. Si je supprime mon fichier asax global, mon code va à mon point d'arrêt. Si je rajoute le fichier, le projet ignore totalement les points de rupture. Voici le code dans mon fichier global de asaxPourquoi Visual Studio .net 2008 perd-il la capacité de débogage après l'ajout du fichier global.asax?

Classe publique Global_asax Hérite System.Web.HttpApplication

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) 
    ' Fires when the session is started 
    Application("concurentUsers") += 1 
End Sub 

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) 
    ' Fires when the session ends 
    If Session("loggedout") = Nothing Then 
     Application("concurentUsers") += -1 
    End If 
End Sub 

Fin de classe

Comme vous pouvez le voir son pas grand-chose. Je reçois le messagebox suivant du studio visuel lorsque runnning projet AVEC le fichier .asax global actuel

« Le module suivant a été construit soit avec des optimisations activées ou sans informations de débogage: (chemin d'accès à mes fichiers temporaires de asp.net Pour déboguer ce module, modifiez la configuration de construction du projet en mode débogage Pour supprimer ce message, désactivez l'option "Avertir si aucun code utilisateur lors du lancement".

J'ai essayé de supprimer ces fichiers temporaires, mais cela a rendu le projet complètement impossible à débloquer et j'ai renvoyé le message d'erreur rouge et j'ai dû restaurer à partir de la corbeille pour remettre mon projet en ordre. Donc, il est très anoying que je dois supprimer le fichier asax global afin de déboguer le projet (et tout code associé à threwout les fichiers de projet)

post-scriptum Tout est en cours d'exécution en mode débogage et marqué comme tel dans la configuration web. Comme je l'ai dit débogue bien sans le fichier global.asax présente

Répondre

0

Comme une question secondaire, vous devriez utiliser Application.Lock. Aussi += -1 est impair. Vous devriez faire -= 1

Application.Lock() 
Application("concurentUsers") -= 1 
Application.UnLock() 

Ne vous préoccupez pas l'orthographe concurrente.

1

Poster l'intégralité du contenu de global.asax et Global.asax.cs (si elle existe). Ma conjecture est que la directive d'application au sommet de global.asax a une directive de compilateur ou quelque chose dedans qui cause le comportement (par exemple,/debug-// debug: pdbonly pourrait causer ce comportement).

0

Vous pouvez essayer de vider votre dossier Temporary ASP.NET.

Cela provoque parfois des problèmes de configuration. Ne supprimez pas le dossier, supprimez simplement son contenu.

0

Ce problème m'a poussé les noix à plusieurs reprises. Ce que j'ai trouvé est que pendant une poussée à la production j'ai changé la "Configuration" d'Actif (Déboguer) à la Libération et l'option "Activer les Optimisations" dans la fenêtre Paramètres avancés du compilateur (Propriétés du projet/Compiler/Options avancées de compilation). Si je remets le type de configuration à "Active (Debug)" plus tard, j'ai tendance à oublier de décocher l'option "Enable Optimizations". Lorsque cela se produit, le message d'erreur "Optimisations activées" ou "Sans informations de débogage" s'affiche. Dans le passé, j'ai toujours compris le "sans informations de débogage" qui m'a jeté hors piste. Donc, la réponse courte est: Vérifiez que l'option "Activer les optimisations" est désactivée et que l'option "Générer les informations de débogage:" est définie sur "full" ou "pbd-only" dans les paramètres avancés du compilateur.

HTH,

James.

Questions connexes