Ich versuche, System.DirectoryServices
in einem Website-Projekt zu verwenden und erhalte folgende Fehlermeldung:
Der Typ- oder Namespace-Name 'DirectoryServices' ist im Namespace 'System' nicht vorhanden (fehlt eine Assemblyreferenz?)
Mein Projekt hat einen Verweis auf System.DirectoryServices
in web.config
:
<add Assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
Und ich habe using System.DirectoryServices
in den Dateien, in denen ich es verwenden möchte.
Hat jemand eine Ahnung, wo er nach dem Problem suchen muss?
Ist der Webserver (IIS oder was auch immer) so konfiguriert, dass der Ordner als Anwendung ausgeführt wird (d. H. Als Zahn), und verwendet er die richtige Version von ASP.NET? Wenn es als 1.1 ausgeführt wird, funktionieren möglicherweise einige Bits - aber es wird die 2.0-Assembly im 1.1-GAC nicht finden.
Im Dunkeln geschossen: Haben Sie versucht, zur web.config hinzuzufügen:
<compilation debug="true">
<assemblies>
<add Assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
Dies ist ein sehr alter Thread, aber nur um eine vollständige Antwort für die Nachwelt zu geben;)
Dieses Problem tritt auf, wenn dem Projekt ein Verweis auf die .Net-Komponente System.DirectoryServices fehlt.
Wenn Sie diese Referenz in der von Ihnen bevorzugten Weise hinzufügen, wird das Problem behoben.
Ich denke, Sie sollten Directory Services Package installieren.
Install-Package System.DirectoryServices -Version 4.0.0
Ist dies ein Web Site Projekt oder ein Web Application Projekt. Bei letzteren werden Verweise über die .csproj - d.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, klicken Sie dann im daraufhin angezeigten Menü auf Referenz hinzufügen, und navigieren Sie auf der Registerkarte .NET zu DirectoryServices.AccountManagement
Ich hatte das gleiche Problem, als ich versuchte, die Website in eine Web-App zu konvertieren. Es sieht so aus, als wäre das Versagen beim Laden der Assembly mit der Versionsverwaltung verbunden. Wechseln Sie zu web.config
und fügen Sie die Assembly wie folgt hinzu. Stellen Sie sicher, dass die DLL -Version Ihrer .NET-Version der Anwendung entspricht.
<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>
um einen öffentlichen Schlüssel zu erhalten, müssen Sie Developer Command Prompt for VS
starten. Wechseln Sie in das GAC-Verzeichnis-bezogene Framework oben (ex C:\Windows\Microsoft.NET\Framework\v4.0.30319
) Und rufen Sie es an
sn -T System.DirectoryServices.dll
Diese Probleme treten auf, wenn Sie mit einer älteren .NET-Version arbeiten und versuchen, mit der neuesten IDE zu erstellen
Es hängt davon ab, welche Version von IDE Sie verwenden und auch die aktuelle Codeversion.
Überprüfen Sie die Web-Konfiguration,
In meinem Fall habe ich die neueste Version verwendet, d. H. 4.7 und directoryService
Assembly verweisen immer noch auf C # 4.0.
Fügen Sie unten hinzu, wenn Sie die neueste Version von id verwenden, d. H. 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>