J'ai un projet WCF Data Service construit avec Visual Studio 2010, qui fonctionnait bien. Tout d'un coup, il n'a plus compilé. Cela me donnait des messages comme:
Erreur 7 Le type ou le nom d'espace de noms «Services» n'existe pas dans l'espace de noms «System.Data» (manque-t-il une référence d'assembly?) C: \ U ... s \ Visual Studio 2010 \ Projects ... \ DataService. cs ...
Erreur 8 Le nom de type ou d'espace de noms 'Linq' n'existe pas dans l'espace de noms 'System' (manque-t-il une référence d'assembly?) DependencyResolver.cs 3 14
Erreur 10 Le nom de type ou d'espace de noms «Web» n'existe pas dans l'espace de noms «System.ServiceModel» (vous manque une référence d'assembly?)
Erreur 12 Le type ou le nom de l'espace de noms 'DataService' est introuvable (manque-t-il une directive using ou une référence d'assembly?)
Comment puis-je le réparer?
la source
Réponses:
J'ai eu le même problème et j'ai dû définir le "Cadre cible" de tous les projets pour qu'il soit le même. Ensuite, ça s'est bien passé. Dans le menu projet, cliquez sur Propriétés ProjectName. Cliquez sur l'onglet de compilation. Cliquez sur Options de compilation avancées. Dans le cadre cible, choisissez le cadre souhaité.
la source
J'ai eu un problème avec System.Linq non reconnu. La
using
déclaration avait un pli rouge, etc. La façon dont je l'ai résolu était de changer mon site Web pour cibler dotnet 3.5, puis de revenir au cadre cible d'origine (4.0 dans mon cas).la source
System.Linq
comme une bibliothèque valideJ'ai trouvé que cela était dû au fait que j'avais le même nom d'espace de nom que le nom de classe (
MyWorld.MyWorld = Namespace.ClassName
).Remplacez votre espace de noms par un nom qui n'est pas le même nom que votre classe et cela se compilera.
La source
la source
Windows.Whatever
global::
J'ai rencontré le même problème avec un site ASP.NET MVC lorsque j'ai essayé d'utiliser LINQ to SQL . J'ai résolu le problème en:
Explorateur de solutions -> Références -> Cliquez avec le bouton droit sur System.Data.Linq -> Copier local (vrai)
la source
Vérifiez que votre framework cible a les mêmes versions .NET. J'ai eu le même problème et ma classe .NET était de 3,5 et la solution Web en avait 4,5. J'ai synchronisé ceux-ci, puis cela a fonctionné :)
la source
J'ai eu le même problème et j'ai essayé tout ce qui précède sans succès, puis j'ai découvert ce que c'était:
J'avais créé un dossier appelé "Système" dans l'un de mes projets, puis créé une classe dedans. Le problème semble provenir d'avoir un espace de noms appelé "System" lorsque le fichier .cs est créé, même s'il se trouve dans un espace de noms de "MyProject.System".
Avec le recul, je peux comprendre pourquoi cela causerait des problèmes. Cela m'a vraiment déconcerté au début car les messages d'erreur ne semblent pas initialement liés au problème.
la source
J'ai rencontré le même problème avec System.Data.SQLite. La source du problème est que la DLL que vous avez utilisée doit avoir la même version .NET avec votre projet.
Par exemple, si vous avez utilisé (dans mon cas) SQLite pour .NET 4.5, votre plate-forme cible devrait également être .NET 4.5.
Vous pouvez trouver la plate-forme cible par: Projet> (nom du projet) Propriétés> Construire.
la source
Dans mon cas, le problème se produisait parce que la classe que j'avais créée avait un espace de noms qui interférait avec les classes existantes. La nouvelle classe A avait un espace de noms zz.yy.xx (par erreur). Les références aux objets dans un autre espace de noms yy.xx n'étaient pas compilées dans la classe A ou d'autres classes dont l'espace de noms était zz.
J'ai changé l'espace de noms de la classe A en yy.xx, ce qu'il aurait dû être, et il a commencé à fonctionner.
la source
POUR TOUTE PERSONNE AVEC DES FICHIERS LIÉS: J'ai eu ce problème et j'utilisais Silverlight et le fichier incriminé qui lançait cette erreur était un fichier lié.
L'erreur du compilateur m'a dit que l'erreur se produisait dans le projet dans lequel le fichier vivait. Il s'est avéré que l'erreur n'était PAS dans ce projet, elle se produisait dans le projet qui contenait le fichier lié. Il manquait une référence à ce projet.
la source
J'ai rencontré ce problème lors de l'utilisation de l' intégration Git de Visual Studio pour gérer le projet. Pour une raison quelconque, le projet Windows Phone 8 se compilerait très bien lors du ciblage de x86, mais lorsque je le définirais pour cibler ARM, il échouerait lors de la compilation avec une erreur indiquant que "Advertising" n'existait pas dans l'espace de noms Microsoft.
J'ai fini par résoudre le problème en supprimant la référence Microsoft.Advertising. *. Dll et en l'ajoutant à nouveau.
la source
Dans mon cas, il n'y a eu aucun changement dans les projets, il s'est juste arrêté de compiler et avec "le type ou le nom d'espace de noms XXX n'existe pas" et dans la classe plaignante elle-même intellisense pour cet espace de noms / classe XXX fonctionne correctement. Le problème était en effet dans les références!
Étapes à reproduire:
La solution a ProjectA, ProjectB. ProjectA fait référence à log4net tiers et il est marqué
Copy local: true
. ProjectB fait référence à ProjectA et n'a pas de référence à log4net. La solution se compile bien.Changement dans ProjectA: propriété de référence pour log4net en
Copy local: false
.This is because ProjectB
dossier bin manque bibliothèque tierce(log4net in my case)!
Dans ce cas, la solution serait -
Copy local: true
oula source
Je fais référence à Microsoft.CommerceServer.Runtime.Orders et j'ai rencontré cette erreur. Ce projet est ancien et dispose du framework Target .NET 2.0. En sortie, j'ai eu cette erreur:
J'ai simplement changé le framework cible en .NET 4 et maintenant il se construit.
la source
Et si tout le reste échoue, par exemple en vous assurant que les frameworks cibles sont les mêmes, et que vous avez affaire à une bibliothèque de classes WPF dans VS2010, redémarrez simplement Visual Studio. Ça l'a fait pour moi.
la source
type namespace error
se produit. Et je redémarre Visual Studio, après avoir redémarré, l'erreur d'origine de la DLL s'affiche à nouveau, et je l'ai relue et reconstruite, succès.J'ai rencontré les mêmes erreurs. Après avoir découvert que mon projet avait le mauvais nom d'assembly (j'ai copié des fichiers d'un autre projet et les espaces de noms sont devenus un peu confus), et l'ai changé en arrière, le projet s'est bien compilé.
la source
J'ai reçu un message d'erreur très similaire qui a été provoqué par avoir fait par inadvertance un doublon d'une classe dans un autre projet de ma solution. La suppression du doublon a résolu le problème
la source
J'ai récemment eu besoin de faire une restauration du système et cela a causé la modification / disparition de plusieurs de mes fichiers sur lesquels je travaillais depuis la restauration. Certains d'entre eux étaient des fichiers DLL. J'ai utilisé le contrôle de code source pour récupérer l'intégralité du projet, mais j'avais toujours un problème similaire à celui ci-dessus. J'ai trouvé cette réponse qui décrit que vous devrez peut-être supprimer une DLL et la lire pour corriger vos erreurs. C'était le cas dans mon scénario.
Le supprimer
WebMatrix.WebData
et le relire ainsi que l'ajouter dansWebMatrix.Data
fixe mon erreur deThe type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...
.la source
Supprimez le fichier .refresh.dll si vous êtes sous contrôle de code source. Reconstruisez ensuite. Ça devrait marcher. Cela a fonctionné pour moi
la source