Système.DirectoryServices n'est pas reconnu dans le namespace 'System'
je suis en train d'utiliser System.DirectoryServices
dans un projet de site web et je reçois cette erreur:
le nom du type ou du namespace 'DirectoryServices' n'existe pas dans le namespace 'System' (vous manque-t-il une référence d'assemblage?)
mon projet fait référence à System.DirectoryServices
web.config
:
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
Et j'ai using System.DirectoryServices
dans les fichiers où je veux l'utiliser.
quelqu'un a une idée où chercher le problème?
8 réponses
le serveur web (IIS ou autre) est-il configuré pour exécuter le dossier en tant qu'application (c'est-à-dire qu'il s'affiche en tant que cog), et utilise-t-il la version correcte de ASP.NET je ne sais pas. S'il fonctionne en tant que 1.1, des morceaux de celui - ci pourrait fonctionner-mais il ne parviendrait pas à trouver que 2.0 assemblée dans le 1.1 GAC.
- faites un clic droit sur les références sous votre solution.
- Sélectionnez Ajouter Une Référence. La référence se trouve dans la liste des Assemblées Cadres. Sélectionnez Système.DirectoryServices et cliquez sur Ajouter.
Tir dans le noir: avez-vous essayé d'ajouter sur le web.config:
<compilation debug="true">
<assemblies>
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
C'est un fil très ancien mais juste pour fournir une réponse complète pour le bien de la postérité ;)
Ce problème se produit si le projet est en manque une référence à l' .Net Composant Système.DirectoryServices
ajouter cette référence de la manière habituelle préférée par vous résoudra le problème.
Est-ce un web site projet, ou un web application projet. Dans ce dernier cas, les références sont traitées via le.csproj-i.e. via le noeud "References" dans Solution Explorer.
sur Solution Explorer cliquez avec le bouton droit de la souris sur votre projet, puis à partir du menu résultant, cliquez sur Ajouter une référence, puis sous L'onglet.net, naviguez vers DirectoryServices.AccountManagement
je pense que vous devriez Répertoire d'installation de Package de Services.
Install-Package System.DirectoryServices -Version 4.0.0
j'ai eu le même problème quand j'ai essayé de convertir le site web à l'application web.
Il semble que la défaillance de vs de charger l'assemblage devrait être liée au versioning.
commutateur web.config
et y ajouter l'assemblage comme suit. assurez-vous que la version DLL correspond à votre application ciblée.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</assemblies>
</compilation>
</system.web>
</configuration>
pour obtenir une clé publique, vous devez lancer Developer Command Prompt for VS
. Modification du cadre relatif au répertoire GAC ci-dessus exC:\Windows\Microsoft.NET\Framework\v4.0.30319
et appeler
sn -T System.DirectoryServices.dll