【问题标题】:System.DirectoryServices is not recognised in the namespace 'System'System.DirectoryServices 在命名空间“系统”中无法识别
【发布时间】:2008-11-05 13:15:14
【问题描述】:

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

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

我的项目在web.config中有对System.DirectoryServices的引用:

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

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

有人知道到哪里寻找问题吗?

【问题讨论】:

    标签: c# .net directoryservices


    【解决方案1】:
    1. 右键单击解决方案下的参考。
    2. 选择添加参考。 该参考可以在框架程序集列表下找到。 选择 System.DirectoryServices 并点击添加。

    【讨论】:

    • 我在参考文献中有它,它仍然给我与上面相同的错误。
    • @vapcguy 旧评论,但您可能还需要添加参考 System.DirectoryServices.AccountManagement
    • 为什么我在参考管理器中找不到 System.DirectoryServices?
    【解决方案2】:

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

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

    【讨论】:

    • System.DirectoryServices 所依赖的任何程序集呢?
    • PublicKeyToken 可能需要小写,我认为它可能区分大小写——我没有这一行,我只是添加了它,并复制/粘贴了来自的 PublicKeyToken我的 DLL 在 C:\Windows\Assembly(又名 GAC)中的属性,这就是解决它的方法,对我来说。
    • 即使在我构建解决方案时添加了必要的引用之后,它也成功构建了,当我运行项目时,我得到了错误 CS0234:类型或命名空间名称'DirectoryServices'没有存在于命名空间“系统”中(您是否缺少程序集引用?)我不明白为什么在成功构建后再次出现错误
    【解决方案3】:

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

    Install-Package System.DirectoryServices -Version 4.0.0 
    

    Directory Services Package

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

        的引用,则会出现此问题

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

        【讨论】:

        • 这是一个网站项目,我确实在 web.config 中引用了程序集,正如您在问题中看到的那样。
        • 我遇到了同样的问题,我也有它在参考文献中。
        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

            当您使用较旧的 .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>
            

            【讨论】:

              【解决方案9】:

              当我尝试将网站转换为网络应用程序时,我遇到了同样的问题。 看起来 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
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2014-01-21
                • 2011-10-05
                • 2012-05-07
                • 2019-12-19
                • 2018-03-21
                • 1970-01-01
                • 2020-09-21
                相关资源
                最近更新 更多