2013-05-03 3 views
0

Voici mon code, j'ai cherché haut et bas pour une journée entière, mais je suis un nouveau programmeur donc la réponse est probablement juste en face de moi, peut-être de nouveaux yeux peuvent le voir . erreur de débogage est:Le type ou l'espace de noms L'utilisateur est introuvable

Le type ou espace de noms utilisateur ne peut pas être trouvé (vous manque une directive à l'aide ou une référence d'assemblage)

Mon code:

using System; 
using System.Collections.Generic; 

namespace verifyUsers 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      parser userParser = new parser("Users.csv"); 
      DisplayUsersInAD(userParser.Parse()); 

      Console.ReadLine(); 
     } 

     static void DisplayUsersNotInAD(user[] list) 
     { 
      ADLookup lookup = new ADLookup(); 
      foreach (User u in list) 
       if (lookup.IsUserInAD(u.login) == true) 
        Console.WriteLine("{0} was found in AD.", u.login); 
     } 
    } 
} 
+2

Quelle partie du message ne comprenez-vous pas? – SLaks

+1

Est-ce que 'User' existe dans l'espace de noms' verifyUsers' (apparemment pas)? Le message d'erreur est assez simple. – tnw

+1

Tapez 'user' avec une minuscule u, pas' User' ('foreach (utilisateur dans la liste)'). S'il s'agit d'une classe, renommez la classe en 'User' pour suivre les conventions de nommage. –

Répondre

3

Surveillez votre boîtier! Vous utilisez User et user. Laquelle est correcte?

EDIT

Si cela n'a pas été le problème, trouver le projet ou la DLL où le User devrait être Assurez-vous que vous avez une référence de votre projet à l'autre projet ou DLL (via:. Clic droit sur References et choisissez Add reference....)

Si vous êtes sûr que vous avez la bonne référence, faites un clic droit sur le user et choisissez Resolve... d'ajouter l'espace de noms correct.

Un autre problème pourrait être que le User fait partie de votre projet. Assurez-vous que ce fichier est inclus dans votre projet. Si c'est le cas, faites un clic droit sur le fichier et assurez-vous que Build Action est défini sur Compile.

+0

Bonne capture ... n'a pas remarqué que – tnw

+0

J'ai fait le changement à foreach (utilisateur u dans la liste) et toujours obtenir l'erreur – user2347100

+0

Savez-vous où cet utilisateur devrait exister? Est-ce dans l'un de vos propres projets? Est-ce dans une bibliothèque tierce? –

1

Je pense que l'espace de noms de l'utilisateur et la classe actuelle est différente, s'il vous plaît vérifier. Si tel est le cas, importez-le comme using <UserNamespace> ou faites en sorte que l'espace de nom soit le même. L'autre chose est dans la méthode statique

static void DisplayUsersNotInAD(user[] list) 
     { 
      ADLookup lookup = new ADLookup(); 
      foreach (User u in list) 
       if (lookup.IsUserInAD(u.login) == true) 
        Console.WriteLine("{0} was found in AD.", u.login); 
     } 

l'utilisateur de paramètre et l'objet peut u ne sont pas identiques puisque l'utilisateur est pas de même de l'utilisateur (en minuscules). vérifiez aussi ceci.

espérons que cela vous aidera.

-1

Ce n'est pas une réponse à realy votre question, mais puisque vous êtes nouveau à la programmation en C# une suggestion:

En C#, il est pratique courante aux noms de classe de cas de chameau. Donc, dans votre analyseur de code doit être Parser

Parser userParser = new Parser("Users.csv"); 

et l'utilisateur doit être l'utilisateur

static void DisplayUsersNotInAD(User[] list) 

Bonne chance et heureux de codage!

+0

-1 C'est ce qu'on appelle le boîtier Pascal et non le boîtier camel. Pascal boîtier: "Parser" et "UserParser". Chameau: "parser" et "userParser". – Polyfun

Questions connexes