459 votes

Le nom de type ou d’espace de noms est introuvable

J'ai un C# solution avec plusieurs projets en Visual Studio 2010. L'un est un projet de test (je vais l'appeler "PrjTest"), l'autre est un Windows Forms Application projet (je vais l'appeler "PrjForm"). Il y a aussi un troisième projet référencé par PrjForm, il est en mesure de référence et de l'utiliser avec succès.

PrjForm références PrjTest, et PrjForm a une classe avec un using déclaration:

using PrjTest;
  1. Référence a bien été ajouté
  2. using déclaration est correctement en place
  3. L'orthographe est correcte
  4. PrjTest construit avec succès
  5. PrjForm presque construit, mais des pauses sur l' using PrjTest; ligne avec le message d'erreur:

Le type ou le nom d'espace de noms 'PrjTest' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?)

J'ai essayé ce qui suit pour résoudre ce problème:

  1. Retiré Resharper (depuis Resharper n'eut aucun mal à reconnaître le projet référencé, j'ai pensé qu'il pourrait être intéressant d'un coup)
  2. Supprimé et re-ajout de la référence et à l'aide de déclaration
  3. Recréé PrjForm à partir de zéro
  4. PrjForm réside actuellement à l'intérieur de la PrjTest dossier, j'ai essayé de le déplacer vers un dossier externe
  5. Chargée de la solution sur un autre ordinateur avec une nouvelle copie de VS 2010

J'ai fait mon travail et a passé beaucoup trop longtemps à la recherche d'une réponse en ligne, aucune solution n'a aidé encore.

Quoi d'autre pourrais-je essayer?

705voto

Anders Points 6814

Voir à cette question.

S'avère que c'était un client de profilage question.

PrjForm était ".Net Framework 4 Client Profile" Je l'ai changé pour ".Net Framework 4", et maintenant, j'ai réussi à construire.

Merci à tous! Je suppose que les chiffres qu'après tout ce temps consacré à la recherche en ligne, j'ai trouver la solution en quelques minutes après l'affichage, je pense que le truc est de savoir la bonne question à poser..

52voto

DeepSpace101 Points 1973
<p>Dans mon cas, j’ai eu :<p>DLL référencée :<code></code></p><p>Projet :<code></code></p><p>En raison de l’incompatibilité ci-dessus, le projet 4.0 ne pouvait pas voir à l’intérieur de l’espace de noms de la 4.5. DLL. j’ai recompilé la. DLL pour cibler .NET 4.0 et j’ai été très bien.</p></p>

40voto

Dee Points 201

PrjForm était ".Net Framework 4 Client Profile" j'ai changé ".Net Framework 4", et maintenant, j'ai réussi à construire.

Cela a fonctionné pour moi aussi. Merci beaucoup. J'ai essayé de RDF exemple pour dotNet où en j'ai téléchargé le kit de dotnetrdf.

NET4 Profil du Client: Toujours cible NET4 Profil Client pour toutes vos clients des applications de bureau (y compris les Windows Forms et WPF apps).

NET4 Plein cadre: Cible NET4 Complète que si les caractéristiques ou les assemblages dont votre application a besoin ne sont pas inclus dans le Profil du Client. Cela comprend: Si vous êtes à la construction de Serveur d'applications, Telles que:

  • ASP.Net apps
  • Côté serveur services web ASMX

Si vous utilisez le client hérité des scénarios, Tels que: o Utilisation de l'System.Data.OracleClient.dll ce qui est déconseillé dans NET4 et ne sont pas inclus dans le Profil du Client.

  • Utiliser des anciennes versions de Windows Workflow Fondation 3.0 ou 3.5 (WF3.0 , WF3.5)

Si vous le ciblage développeur scénarios et ont besoin d'un outil tel que MSBuild ou besoin d'accéder à la conception des assemblages tels que System.Design.dll

35voto

Miebster Points 836
<p>Une autre chose qui peut provoquer cette erreur est d’avoir NuGet packages qui ont été construites avec une version plus récente du .NET.<p>L’erreur initiale :</p><pre><code></code></pre><p>Plus haut dans le journal que j’ai trouvé ceci :</p><p><code></code></p><p>La solution était de ré-installer les packages NuGet :</p><p><a href="http://docs.nuget.org/docs/workflows/reinstalling-packages" rel="nofollow">http://docs.NuGet.org/docs/workflows/reinstalling-packages</a></p></p>

28voto

kurdapya Points 131
<p>J’ai résolu mine parce que l’autre projet a été codé avec .NET 4.5 et l’autre était codé 4.0</p>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X