En regardant un code plus ancien, j'ai rencontré une étrange erreur d'espace de noms..net Classe "n'est pas un membre de" Classe .. même si c'est?
Disons que j'ai deux projets, HelperProject et WebProject. L'espace de noms complet de chaque - tel que donné dans les propriétés de l'application - est myEmployer.HelperProject et myEmployer.Web.WebProject.
Les pages du projet Web sont remplies d'instructions qui utilisent des classes du projet d'assistance. Il n'y a pas d'instructions d'importation/utilisation, mais il y a une référence au projet d'assistance ajouté dans la corbeille. Quelques lignes par exemple pourraient être:
myEmployer.HelperProject.StringHelper.GetFixedLengthText(Text, "", Me.Width, 11)
myEmploter.HelperProject.Utils.StringHelper.EstimatePixelLength(Text, 11)
Cependant, chaque ligne qui est écrit de cette manière est de lancer l'erreur « HelperProject » est pas un membre de « myEmployer ». Si vous déclarez les instructions comme ceci:
HelperProject.StringHelper.GetFixedLengthText(Text, "", Me.Width, 11)
HelperProject.Utils.StringHelper.EstimatePixelLength(Text, 11)
Tout semble bien.
Dans le navigateur d'objets de la solution et dans le dossier bin, HelperProject apparaît avec son espace de nom complet, myEmployer.HelperProject.
Je ne veux pas avoir à changer toutes les déclarations, et d'ailleurs je soupçonne que cela masque un problème plus fondamental ici. Mais je n'ai aucune idée de ce qui se passe. Quelqu'un peut-il offrir des pointeurs s'il vous plaît?
Cheers, Matt
Yep, l'ajout global supprime l'erreur. Qu'est-ce que cela signifie? –
Cela signifie que vous avez un conflit d'espace de nom en ce que myEmployer.HelperProject est ambigu. Si j'ai édité mon post avec une solution pour que vous n'ayez pas à changer toutes les déclarations. –