Система.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.
- щелкните правой кнопкой мыши ссылки под вашим решением.
- Выберите Добавить Ссылку. Эту ссылку можно найти в списке сборок 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