0
votes

Débogage ambigu à l'aide de la fenêtre immédiate de Visual Studio pour le projet de formulaires Web VB.net

C'est probablement vraiment stupide, mais je suis relativement nouveau sur VB et Dot.net, et je ne trouve pas d'analogue approprié nulle part en ligne. Chaque fois que j'utilise la fenêtre Exécution, je tape Debug.Print (x) , j'obtiens le message suivant:

erreur BC30561: 'Debug' est ambigu, importé des espaces de noms ou des types 'System.Web.Util, System.Diagnostics, System.Configuration'.

Si je tape System.Diagnostics.Debug.Print , cela fonctionne bien, mais j'espère qu'il n'y aura pas de frappe supplémentaire.

Peu d'aide?

Remarque: J'ai System.Diagnostics référencé comme un espace de noms importé au niveau du projet.


2 commentaires

Solution récente mise à jour ? Plusieurs versions de bibliothèques? Ouvrez l'Explorateur d'objets, recherchez Debug et voyez ce qui en sort.


Le contexte n'est pas évident à partir de la question. Essayez de taper ? X à la place.


3 Réponses :


1
votes

 entrez la description de l'image ici Cliquez sur les propriétés du projet et choisissez «Références», comme indiqué dans l'image ci-dessous entourée de rouge. Ensuite, assurez-vous que System.Diagnostics est vérifié, voir entourant en rouge.


1 commentaires

Oui, il me semble. Essayez de supprimer System.Web.Util. et l'autre



1
votes

essayez cette importation

Imports System.Diagnostics

(placez-la au-dessus de "Public Class ...")


1 commentaires

J'aurais dû mentionner que je l'ai déjà en tant qu'espace de noms importé au niveau du projet. Dois-je encore faire ça?



2
votes

Depuis Fenêtre immédiate a>:

La fenêtre Exécution évalue les expressions en créant et en utilisant le projet actuellement sélectionné.

Lorsque vous entrez Debug.Print ("...") dans la fenêtre immédiate, il est traité comme une expression à évaluer et en tant que tel, il est enveloppé dans le contexte courant et construit et exécuté. Depuis que vous avez importé, System.Web.Util , System.Configuration et System.Diagnostics et il y a un Classe System.Configuration.Debug et une Classe System.Web.Util.Debug définie en plus de celle dans System .Diagnostics , vous obtenez l'erreur

erreur BC30561: 'Debug' est ambigu, importé depuis les espaces de noms ou types 'System.Web.Util, System.Configuration, System.Diagnostics, System.Configuration '.

même si ces deux autres classes ne sont pas strictement accessibles à partir de votre code. Cela est dû au fait que VB permet d'importer à la fois les espaces de noms et les classes. Notez que ce conflit ne se produit que dans la fenêtre Exécution et non dans le code utilisateur.

Si vous souhaitez émettre une commande Debug.Print dans la fenêtre Exécution, exécutez-la en tant que commande sans les parenthèses en entrant d'abord un > avant la commande.

? "some expression"

Ou utilisez le Debug.Print alias de commande ?

>Debug.Print "some expression"


1 commentaires

C'est bien. Merci!