J'ai un projet de service de données WCF construit avec Visual Studio 2010, qui fonctionnait bien. Tout à coup, il ne compilait plus. Il me donnait des messages comme :
Erreur 7 Le nom de type ou d'espace de nom 'Services' n'existe pas dans l'espace de nom 'System.Data' (il vous manque une référence d'assemblage ?). C:\U...s\Visual Studio 2010 \Projects...\DataService.cs ...
Erreur 8 Le nom de type ou d'espace de nom 'Linq' n'existe pas dans l'espace de nom 'System' (il vous manque une référence d'assemblage ?) DependencyResolver.cs 3 14
Erreur 10 Le nom de type ou d'espace de nom 'Web' n'existe pas dans l'espace de nom 'System.ServiceModel' (il vous manque une référence d'assemblage ?).
Erreur 12 Le nom de type ou d'espace de nom 'DataService' n'a pas pu être trouvé (manque-t-il une directive using ou une référence d'assemblage ?)
Comment puis-je le réparer ?
0 votes
Est-il possible que certaines références aient été supprimées ? Ou que certaines déclarations d'utilisation en haut de page aient été supprimées ?
0 votes
Je ne me souviens pas d'avoir supprimé des références.
0 votes
Que vous les ayez supprimés ou non, ils sont partis. Essayez de les rajouter. Vous devez
System.Data
ySystem.Linq
.0 votes
Assurez-vous que tous les services packs sont installés pour la version .Net que vous ciblez. Utilisez-vous Silverlight ?
4 votes
Même après les avoir ajoutés, les messages d'erreur demeurent.
0 votes
Vérifiez votre
Web.config
pour les erreurs.1 votes
Mon cas était d'une simplicité embarrassante. J'avais négligé d'ajouter la référence à
System.Data.Services
.3 votes
Je pense que c'est parce que, bien que les réponses aient été utiles, la question originale est très ouverte et il est peu probable qu'elle se rapporte à quelqu'un d'autre, même si les réponses sont utiles.
0 votes
Si vous obtenez ce message d'erreur et que votre projet utilise l'application
Microsoft.Bcl
,Microsoft.Bcl.Async
yMicrosoft.Bcl.Build
Vous devrez alors les référencer dans tous les projets qui font référence à votre projet. C'est ennuyeux mais cela peut être fait facilement par NuGet.