2008-11-05 12 views
20

Próbuję użyć System.DirectoryServices w projekcie strony internetowej, a ja dostaję ten błąd:System.DirectoryServices nie ujmuje się w „system” namespace

The type or namespace name 'DirectoryServices' does not exist in the namespace 'System' (are you missing an assembly reference?)

Mój projekt ma odniesienie do System.DirectoryServices w web.config:

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

A ja mam using System.DirectoryServices w plikach gdzie chcą go używać.

Czy ktoś ma wskazówkę, gdzie szukać problemu?

Odpowiedz

6

Czy web-server (IIS lub cokolwiek) skonfigurowany do uruchamiania folder jako wniosek (tj pokazuje jako cog) i czy używa poprawnej wersji ASP.NET? Jeśli działa jako 1.1, to może to zadziałać, ale nie uda się znaleźć tego zestawu 2.0 w GACzie 1.1.

1

Czy jest to projekt WWW witryna lub projekt sieci . W przypadku tego ostatniego odniesienia są obsługiwane przez .csproj - tj. Za pośrednictwem węzła "References" w oknie Solution Explorer.

+1

jest to strona internetowa, więc to nie jest kwestia tak dzięki – jansokoly

8

Strzał w ciemności: Czy próbowałeś dodać do pliku web.config:

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

co o wszelkich zgromadzeń, które jest zależne od System.DirectoryServices ? –

+1

Klucz PublicKeyToken może wymagać małej litery, myślę, że może być rozróżniana wielkość liter - nie miałem tej linii, a właśnie dodałem ją, kopiując/wklejałem klucz PublicKey z właściwości mojej biblioteki DLL w C : \ Windows \ Assembly (aka GAC) i to właśnie rozwiązało dla mnie. – vapcguy

+0

Nawet po dodaniu niezbędnych referencji podczas budowania rozwiązania pomyślnie go skompilowałem i kiedy uruchomiłem projekt, otrzymałem błąd jako _CS0234: Nazwa typu lub nazwy przestrzeni nazw "DirectoryServices" nie istnieje w przestrzeni nazw "System" (czy jesteś brakuje odniesienia do zestawu?) _ Nie wiedziałem, dlaczego ponownie otrzymałem błąd po udanej kompilacji – BNN

6

Jest to bardzo stary wątek, ale tylko w celu zapewnienia pełnej odpowiedzi dla dobra przyszłych pokoleń;)

Ten problem występuje, jeśli projekt brakuje odniesienia do NET System.DirectoryServices

Dodanie tego odniesienia w zwykły sposób preferowany przez Ciebie rozwiąże problem.

+1

Był to projekt strony internetowej i miałem zestaw odwołanie w web.config, jak widać w pytaniu. – jansokoly

+0

Wpadłem na ten sam problem i ja też mam go w odnośnikach. – vapcguy

81
  1. Kliknij prawym przyciskiem myszy Referencje pod swoim rozwiązaniem.
  2. Wybierz Dodaj referencję. Odwołanie znajduje się na liście Zespoły szkieletowe. Wybierz opcję System.DirectoryServices i kliknij Dodaj.
+3

Mam go w Referencjach i nadal daje mi ten sam błąd, co powyżej. – vapcguy

+0

@vapcguy Stary komentarz, ale prawdopodobnie musisz dodać także Reference * System.DirectoryServices.AccountManagement *. – TylerH

1

W Solution Explorer kliknij prawym przyciskiem myszy projekt, a następnie z wyświetlonego menu, kliknij przycisk Add Reference, a następnie pod Przejdź do zakładki NET DirectoryServices.AccountManagement

+1

Dodano ten i nadal otrzymuję ten sam błąd. – vapcguy

0

miałem ten sam problem, gdy próbowałem przekonwertuj stronę internetową na aplikację internetową. Wygląda na to, że w przypadku braku obciążenia zestaw powinien być związany z wersjonowaniem. przełącz na web.config i dodaj do niego zespół jako poniżej. upewnij się, że wersja DLL pasuje do Twojej docelowej wersji .net.

<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> 

na uzyskanie klucza publicznego trzeba uruchomić Developer Wiersz polecenia dla VS .. zmiana katalogu GAC związane ram na powyższy ex C: \ Windows \ Microsoft.NET \ Framework \ V4. 0.30319 i wywołanie ==>sn-T System.DirectoryServices.dll

Powiązane problemy