it-swarm.com.de

Der Typ- oder Namespace-Name 'DirectoryServices' ist nicht im Namespace vorhanden?

CS0234: Der Typ- oder Namespace-Name 'DirectoryServices' ist nicht vorhanden im Namespace 'System' (fehlt eine Assemblyreferenz?)

Diese Seite funktionierte einwandfrei und zeigt Datensätze von direkten Diensten ohne Fehler an. jetzt aber gibt es den obigen Fehler. 

 <asp:GridView ID="gvUsers" runat="server" AutoGenerateColumns="false" DataSourceID="odsUsers"
                                    AllowPaging="true" AllowSorting="true" Width="100%">
<Columns>
 <asp:TemplateField HeaderText="User Name">
 <ItemTemplate>

<%#((System.DirectoryServices.DirectoryEntry)Container.DataItem).Properties["userPrincipalName"].Value%>

   </ItemTemplate>
   </asp:TemplateField>
/Columns>
</asp:GridView>

Das Projekt wurde erfolgreich erstellt, aber wenn ich die Seite öffne, wird ein Fehler angezeigt

15
Ali

Nachdem Sie die Verzeichnisdienstreferenz hinzugefügt haben, klicken Sie mit der rechten Maustaste auf reference und gehen Sie zu properties. Setzen Sie "CopyLocal" auf true. 

40
Kevin

Ich bin mir ziemlich sicher, dass ich meine Anwendung komplett falsch aus meiner Entwicklungsbox in meiner IIS - Box "publiziere". Ich fand diese Lösung hier , und es hat für mich funktioniert.

Wenn Sie eine Webanwendung verwenden, fügen Sie in Ihrer web.config den folgenden Code hinzu.

<compilation debug="true" targetFramework="4.0" >
    <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>

1 - Klicken Sie mit der linken Maustaste auf "Refrences".
2 - Klicken Sie auf "Aktualisierung hinzufügen".
3 - Klicken Sie auf die Schaltfläche "Durchsuchen"
4 - Finden Sie folgende Dateien im Ordner:

"C:\Programme\Referenz Assemblies\Microsoft\Framework.NETFramework\v4.6.1"

-System.DirectoryServices.dll
-System.DirectoryServices.AccountManagement.dll

5 - Wählen Sie sie aus
6 - Drücken Sie die "OK" -Taste

9
Ali Reza

Ich habe dieses Problem in Visual Studio 2015 mit einem MVC-Projekt getroffen, das für .NET Framework 4.5.2 gedacht war. Durch das Ändern des Zielframeworks in .NET 4.5 wurde das Problem behoben.

2
DVK

Sie müssen eine Importanweisung auf Ihrer asp.net-Seite hinzufügen. Stellen Sie sicher, dass es voll qualifiziert ist. Stellen Sie sicher, dass Sie auch in Ihrem Projekt einen Verweis auf die Assembly haben.

 <%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0,
     Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>

Der einfachste Weg für mich war, mit der rechten Maustaste auf References => Add Reference zu klicken und System.DirectoryServices (und benötigte Unterbaugruppen) auszuwählen.

1
ShamPooSham

Es funktioniert, wenn Assembly "System.DirectoryServices.AccountManagement" in den Referenzen hinzugefügt wird. Das Hinzufügen von System.DirectoryServices funktioniert nicht.

0
Faiyaz

Ich hatte das gleiche Problem. Ich habe in meinem Windows-Ordner nach DirectoryServices.dll gesucht. Da alle Versionen, die aufkamen, die gleiche Größe hatten, habe ich eine ausgewählt und in den Ordner bin auf meiner Website kopiert. Wenn Sie keinen bin-Ordner haben, erstellen Sie ihn einfach ... Wenn ich das getan habe, konnte ich meine Webseite ohne Fehler öffnen.

0
Eldritch

Sieht aus, als müssten Sie einen Verweis auf System.DirectoryServices (in Ihrem Projekt) hinzufügen. Da Sie es in einer Aspx-Markup-Seite verwenden, lässt der Compiler diese beim "build" manchmal fliegen, schlägt jedoch fehl, wenn Sie die Seite tatsächlich ausführen.

0
Nate