2008-11-05 70 views
20

我想在一个网站项目中使用System.DirectoryServices,我得到这个错误:的System.DirectoryServices没有命名空间中的“系统”认可

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

我的项目有中System.DirectoryServices参考web.config

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

而且我也有,我想使用它的文件using System.DirectoryServices

有没有人有线索在哪里寻找问题?

回答

6

配置为文件夹作为应用程序运行(即Web服务器(IIS或其他)显示为一个齿轮),它使用的是正确版本的ASP.NET吗?如果它运行的是1.1,那么它可能会工作 - 但它在1.1 GAC中找不到2.0汇编。

1

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

+1

它是一个网站,所以这不是问题 感谢反正 – jansokoly 2008-11-05 13:21:39

8

瞎猜:你尝试过加入到web.config:

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

什么有关的System.DirectoryServices依赖于任何组件? – 2008-11-05 13:42:35

+1

PublicKeyToken可能需要小写,我认为它可能区分大小写 - 我没有这一行,并且我刚刚添加它,并从C的DLL属性中复制/粘贴PublicKeyToken :\ Windows \ Assembly(又名GAC),这就是解决它,对我来说。 – vapcguy 2014-11-06 23:24:33

+0

即使在我构建解决方案时添加了必要的引用,但它已成功构建,并且在运行该项目时,我得到了如下错误:_CS0234:命名空间'System'中不存在类型或名称空间名称'DirectoryServices'缺少程序集引用?)_我没有得到为什么我在成功构建后再次得到错误 – BNN 2017-03-16 07:03:38

6

这是一个非常古老的线程,但只是提供为子孙后代着想完整的答案;)

如果项目缺少.NET组件的System.DirectoryServices参考出现此问题

以您最喜欢的通常方式添加此参考将解决该问题。

+1

这是一个网站项目,我确实在web.config中引用了程序集,就像您在问题中看到的那样。 – jansokoly 2012-02-09 17:34:43

81
  1. 右键单击解决方案下的参考。
  2. 选择添加引用。 该引用可以在框架程序集列表下找到。 选择System.DirectoryServices然后单击添加。
1

在解决方案资源管理器中右键单击您的项目,然后从出现的菜单中,单击添加引用,然后在.NET选项卡浏览到DirectoryServices.AccountManagement

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> 

为得到你需要启动开发人员命令提示符为VS的公钥 .. 变化GAC目录相关的框架上面的前C:\ WINDOWS \ Microsoft.NET \框架\ V4。 0.30319 并且调用==>sn -T System.DirectoryServices。dll