Question

J'essaie d'utiliser System.DirectoryServices dans un projet de site Web et le message d'erreur suivant s'affiche:

  

Le type ou nom de l'espace de noms 'DirectoryServices' n'existe pas dans l'espace de noms 'System' (il manque une référence d'assembly?)

Mon projet contient une référence à System.DirectoryServices dans web.config :

<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>  

J'ai qui utilise System.DirectoryServices dans les fichiers où je souhaite l'utiliser.

Quelqu'un at-il une idée de l'endroit où chercher le problème?

Était-ce utile?

La solution

Le serveur Web (IIS ou autre) est-il configuré pour exécuter le dossier en tant qu'application (c'est-à-dire s'affiche sous forme de cog) et utilise-t-il la version correcte d'ASP.NET? S'il fonctionne en tant que version 1.1, certains de ses éléments pourraient fonctionner - mais il serait impossible de trouver cet assemblage 2.0 dans le GAC 1.1.

Autres conseils

  1. Cliquez avec le bouton droit sur Références dans votre solution.
  2. Sélectionnez Ajouter une référence. La référence se trouve dans la liste des assemblages de cadres. Sélectionnez System.DirectoryServices et cliquez sur Ajouter.

Shot in the dark: avez-vous essayé d'ajouter au web.config:

<compilation debug="true">
     <assemblies>
          <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
     </assemblies>
</compilation>

Ceci est un très vieux fil, mais juste pour fournir une réponse complète dans l’intérêt de la postérité;)

Ce problème se produit s'il manque au projet une référence au composant .Net System.DirectoryServices

.

Ajouter cette référence de la manière habituelle que vous préférez résoudra le problème.

Je pense que vous devriez installer Directory Services Package.

Install-Package System.DirectoryServices -Version 4.0.0 

Package de services d'annuaire

S'agit-il d'un projet Web site ou d'un projet Web application ? Dans ce dernier cas, les références sont traitées via le fichier .csproj - c’est-à-dire via le lien "Références". noeud dans l'Explorateur de solutions.

Dans l'Explorateur de solutions, cliquez avec le bouton droit de la souris sur votre projet, puis dans le menu contextuel, cliquez sur Ajouter une référence, puis sous l'onglet .NET, accédez à DirectoryServices.AccountManagement

.

J'ai eu le même problème lorsque j'ai essayé de convertir un site Web en application Web. Il semble que le fait de ne pas charger l'assembly doit être lié au contrôle de version. passez à web.config et ajoutez-y l'assemblage en tant que ci-dessous. assurez-vous que la version de la DLL correspond à la version .NET de votre application.

<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 Invite de commande du développeur pour VS . Changez pour la structure liée au répertoire GAC dans l’exemple ci-dessus C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 . et appelez

sn -T System.DirectoryServices.dll

Ces problèmes se produisent lorsque vous travaillez avec une version plus ancienne .net et tentez de générer avec le dernier IDE

Cela dépend de la version de l'EDI que vous utilisez et de la version actuelle du code.

Vérifiez la configuration Web,

Dans mon cas, j’utilisais la dernière version i.e 4.7 et l’assemblage directoryService font toujours référence à C # 4.0.

Ajouter ci-dessous si vous utilisez la dernière version de id i.e 4.7

  <system.web>
  <location>

<compilation debug="false" numRecompilesBeforeAppRestart="100" targetFramework="4.7">
        <assemblies>
<add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
 </assemblies>
      </compilation>
</system.web>
  </location>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top