在名称空间“System”中无法识别System.DirectoryServices

我正在尝试在网站项目中使用System.DirectoryServices ,我收到此错误:

命名空间“系统”中不存在类型或命名空间名称“DirectoryServices”(您是否缺少程序集引用?)

我的项目在web.config引用了System.DirectoryServices

  

我确实在我想要使用它的文件中using System.DirectoryServices

有没有人知道在哪里寻找问题?

Web服务器(IIS或其他)是否配置为将文件夹作为应用程序运行(即显示为cog),是否使用正确版本的ASP.NET? 如果它运行为1.1,它的位可能会起作用 – 但它无法在1.1 GAC中找到2.0程序集。

  1. 右键单击解决方案下的References。
  2. 选择添加引用。 可以在Framework Assemblies列表下找到该引用。 选择System.DirectoryServices ,然后单击“添加”。

在黑暗中拍摄:您是否尝试过添加到web.config:

      

这是一个非常古老的线索,但只是为了后代提供一个完整的答案;)

如果项目缺少对.Net组件System.DirectoryServices的引用,则会出现此问题

以您喜欢的常用方式添加此引用将解决该问题。

这是一个网站项目,还是一个Web 应用程序项目。 对于后者,引用通过.csproj处理 – 即通过解决方案资源管理器中的“引用”节点。

在解决方案资源管理器上,右键单击您的项目,然后从结果菜单中单击“添加引用”,然后在“.NET”选项卡下导航到“DirectoryServices.AccountManagement”

我认为你应该安装目录服务包。

 Install-Package System.DirectoryServices -Version 4.0.0 

目录服务包

当我尝试将网站转换为网络应用时,我遇到了同样的问题。 看起来vs无法加载程序集应该与版本控制有关。 切换到web.config并将程序集添加到它下面。 确保DLL版本与您的应用程序目标.NET版本匹配。

          

要获取公钥,您需要启动Developer Command Prompt for VS 。 在上面的C:\Windows\Microsoft.NET\Framework\v4.0.30319上更改为GAC目录相关框架并调用

 sn -T System.DirectoryServices.dll