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

时间:2008-11-05 13:15:14

标签: c# .net directoryservices

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

  

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

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

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

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

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

9 个答案:

答案 0 :(得分:101)

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

答案 1 :(得分:8)

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

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

答案 2 :(得分:7)

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

如果项目缺少对.Net组件的引用 System.DirectoryServices

,则会出现此问题。

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

答案 3 :(得分:6)

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

答案 4 :(得分:2)

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

Install-Package System.DirectoryServices -Version 4.0.0 

Directory Services Package

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

答案 7 :(得分: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。更改为上面的C:\Windows\Microsoft.NET\Framework\v4.0.30319上面的GAC目录相关框架 并致电

sn -T System.DirectoryServices.dll

答案 8 :(得分:0)

当您使用较旧的.net版本并尝试使用最新的IDE进行构建时,会发生这些问题

这取决于您使用的IDE版本以及当前的代码版本。

检查网络配置,

就我而言,我使用的是最新版本,即4.7和directoryService程序集仍引用C#4.0。

如果您使用的是最新版本的ID(即4.7),请在下面添加

  <system.web>
  <location>

<compilation debug="false" numRecompilesBeforeAppRestart="100" targetFramework="4.7">
        <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>
</system.web>
  </location>