Система.DirectoryServices не распознается в пространстве имен "система"

Я пытаюсь использовать System.DirectoryServices в проекте веб-сайта, и я получаю эту ошибку:

имя типа или пространства имен "DirectoryServices" не существует в пространстве имен "System" (отсутствует ссылка на сборку?)

мой проект имеет ссылку на System.DirectoryServices на web.config:

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

и using System.DirectoryServices в файлах, где я хочу его использовать.

кто-нибудь знает, где искать проблему?

8 ответов


-Это веб-сервер (IIS или что-то еще), настроенный для запуска папки как приложения (т. е. показывает как cog), и использует ли он правильную версию ASP.NET? Если он работает как 1.1, его биты могут работать , но он не сможет найти эту сборку 2.0 в 1.1 GAC.


  1. щелкните правой кнопкой мыши ссылки под вашим решением.
  2. Выберите Добавить Ссылку. Эту ссылку можно найти в списке сборок Framework. Выберите

выстрел в темноте: вы пытались добавить в интернет.config:

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

Это очень старая нить, но только для того, чтобы дать полный ответ ради потомства ;)

эта проблема возникает, если в проекте отсутствует ссылка на компонент .Net система.DirectoryServices

добавление этой ссылки обычным способом, предпочитаемым вами, решит проблему.


Это веб -сайт проект или веб приложение. С последним, ссылки обрабатываются через .csproj - т. е. через узел "ссылки" в обозревателе решений.


в обозревателе решений щелкните правой кнопкой мыши проект, затем в результирующем меню выберите Добавить ссылку, затем на вкладке .NET перейдите к DirectoryServices.AccountManagement


Я думаю, вы должны установить пакет служб каталогов.

Install-Package System.DirectoryServices -Version 4.0.0 

Пакет Служб Каталогов


у меня была такая же проблема, когда я пытался конвертировать сайт в веб-приложение. Похоже, что vs, не загружающий сборку, должен быть связан с управлением версиями. перейти web.config и добавьте сборку к нему как ниже. убедитесь,что версия DLL соответствует целевой версии приложения .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>

для получения открытого ключа необходимо запустить Developer Command Prompt for VS. Перейдите в связанную с каталогом GAC структуру выше ex C:\Windows\Microsoft.NET\Framework\v4.0.30319 и звоните

sn -T System.DirectoryServices.dll