命名空间“System”中无法识别 System.DirectoryServices;

发布于 2024-07-08 22:21:37 字数 481 浏览 9 评论 0原文

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

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

我的项目在 web.config< 中引用了 System.DirectoryServices /code>:

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

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

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

I'm trying to use System.DirectoryServices in a web site project and I'm getting this error:

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

My project has a reference to System.DirectoryServices in web.config:

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

And I do have using System.DirectoryServices in the files where I want to use it.

Does anybody have a clue where to look for the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

只等公子 2024-07-15 22:21:37
  1. 右键单击解决方案下的“参考”。
  2. 选择添加参考。
    该参考可以在框架程序集列表下找到。
    选择“System.DirectoryServices”并单击“添加”。
  1. Right click on References under your solution.
  2. Select Add Reference.
    The reference can be found under the Framework Assemblies list.
    Select System.DirectoryServices and click Add.
江湖彼岸 2024-07-15 22:21:37

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

Install-Package System.DirectoryServices -Version 4.0.0 

目录服务包

I think you should install Directory Services Package.

Install-Package System.DirectoryServices -Version 4.0.0 

Directory Services Package

或十年 2024-07-15 22:21:37

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

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

Shot in the dark: have you tried adding to the web.config:

<compilation debug="true">
     <assemblies>
          <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
     </assemblies>
</compilation>
燃情 2024-07-15 22:21:37

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

Is the web-server (IIS or whatever) configured to run the folder as an application (i.e. shows as a cog), and is it using the correct version of ASP.NET? If it is running as 1.1, bits of it might work - but it would fail to find that 2.0 assembly in the 1.1 GAC.

死开点丶别碍眼 2024-07-15 22:21:37

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

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

。您喜欢的通常方式将解决该问题。

This is a very old thread but just to provide a complete answer for the sake of posterity ;)

This issue occurs if the project is missing a reference to the .Net Component System.DirectoryServices

Adding this reference in the usual manner prefered by you will resolve the issue.

妞丶爷亲个 2024-07-15 22:21:37

当我尝试将网站转换为网络应用程序时,我遇到了同样的问题。
看起来加载程序集失败应该与版本控制有关。
切换到 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\Framework\v4.0.30319
并打电话

sn -T System.DirectoryServices.dll

I had the same problem when I tried to convert website to web-app.
It looks like vs failing to load the assembly should be related to versioning.
switch to web.config and add the assembly to it as bellow. make sure the DLL version is matching your application targeted .NET version.

<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>

for getting a public key you need to launch Developer Command Prompt for VS. Change to GAC directory related framework on above ex C:\Windows\Microsoft.NET\Framework\v4.0.30319
and call

sn -T System.DirectoryServices.dll
川水往事 2024-07-15 22:21:37

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

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

检查网络配置,

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

如果您使用的是最新版本的 id ie 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>

These problems occur when you are working with older .net version and trying to build with the latest IDE

It depends on which version of IDE you are using and also the current code version.

Check the web config,

In my case, I was using the Latest version i.e 4.7 and directoryService assembly are still referring to C#4.0.

Add below if you are using Latest version of id i.e 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>
零時差 2024-07-15 22:21:37

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

Is this a web site project, or a web application project. With the latter, references are handled via the .csproj - i.e. via the "References" node in Solution Explorer.

路弥 2024-07-15 22:21:37

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

On Solution Explorer right-click your project, then from the resulting menu, click on Add Reference, then under the .NET tab navigate to DirectoryServices.AccountManagement

把时间冻结 2024-07-15 22:21:37

如果您使用 Partial View/ .cshtml,则必须在 Views 文件夹下的 web.config 文件中包含名称空间(请注意,这不是根目录中的 web.config)

<pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
        <add namespace="System.DirectoryServices" />
    </namespaces>
</pages>

IF you are using Partial View/ .cshtml will will have to include the namesapce in the web.config file Under the Views folder (note this is not the web.config on the root directory)

<pages pageBaseType="System.Web.Mvc.WebViewPage">
    <namespaces>
        <add namespace="System.DirectoryServices" />
    </namespaces>
</pages>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文