2010-07-18 5 views
1

J'ai créé ma DLL personnalisée "MongoDbExtensions". Maintenant, dans un nouveau projet, j'ajoute une référence à "MongoDbExtensions", puis j'essaye d'invoquer une méthode à l'intérieur de MongoDbExtensions appelée ToDocument. J'utilise resharper pour ajouter l'espace de noms en haut du fichier mais quand je compile, j'obtiens toujours l'erreur suivante:Ajout d'un problème de référence dans Visual Studio 2010

Erreur 1 Le nom de type ou d'espace de noms 'MongoDbExtensions' est introuvable (il vous manque une directive using ou une référence d'assembly?) C: \ Projects \ HelpForum \ DemoConsole \ Program.cs 6 7 DemoConsole

Qu'est-ce qui ne va pas? Ma DLL peut être téléchargé ici:

MISE À JOUR 1:

Voici la classe MongoExtensions:

namespace MongoDbExtensions 
{ 

    public static class MongoExtensions 
    { 
     public static List<T> ToList<T>(this IEnumerable<Document> documents) 
     { 
      var list = new List<T>(); 

      var enumerator = documents.GetEnumerator(); 

      while (enumerator.MoveNext()) 
      { 
       list.Add(enumerator.Current.ToClass<T>()); 
      } 

      return list; 
     } 

} 
} 

audocument est une méthode d'extension qui fonctionne sur l'objet.

+0

S'il vous plaît nous montrer votre code. – SLaks

+0

faites un clic droit sur la référence MongoDbExtensions ajoutée et sélectionnez le navigateur d'objet. Maintenant, dans le navigateur, vérifiez la structure pour appeler ToDocument(). De là, vous obtenez l'espace de noms et les noms sous lesquels il est appelé. Cela vous aidera à résoudre –

Répondre

3

Je repro. Cette DLL a été créée en ciblant .NET 4.0. Vous ne pouvez pas l'utiliser dans un projet qui cible autre chose que le framework 4.0 .NET complet. Le ciblage d'une version inférieure ou le profil client génère cette erreur.

+0

J'essaie de l'utiliser sur un projet .NET 4.0! – azamsharp

+0

Merci Hans! tu as raison! Je suis passé à .NET 4.0 et maintenant il a commencé à fonctionner. Merci pour le conseil! – azamsharp

0

Étant donné que votre classe est appelée MongoExtensions, vous devez remplacer MongoDbExtensions dans le code source de votre projet de test par MongoExtensions.

+0

Ouais, faites précisément des appels à 'MongoDbExtensions.MongoExtensions', par exemple: ' MongoDbExtensions.MongoExtensions.BetterInsert (myColl, myDoc) ' ou insérez les instructions correspondantes. – Andreas

+0

Qu'entendez-vous par code source du projet de test? J'utilise Resharper pour ajouter mes références et pourtant il donne la même erreur !! – azamsharp

+0

Dans votre fichier '.cs', vous devez utiliser le nom de classe correct. – SLaks

Questions connexes