错误CS0234:类型或名称空间名称'AccountManagement'在名称空间'System.DirectoryServices'中不存在

时间:2018-08-01 17:32:34

标签: c# .net c#-4.0

我正在尝试为项目引用System.DirectoryServices.AccountManagement,但始终收到此错误。我已经去过VS 2017中的项目>添加引用,并包含System.DirectoryServices.AccountManagement.dll。之后,我进入了解决方案资源管理器中的“引用属性”,并将“复制本地”属性设置为true。这是来自csc的完整错误消息:

Microsoft (R) Visual C# Compiler version 2.8.3.63029 (e9a3a6c0)
Copyright (C) Microsoft Corporation. All rights reserved.

Program.cs(7,32): error CS0234: The type or namespace name 'AccountManagement' does not exist in the namespace 'System.DirectoryServices' (are you missing an assembly reference?)

更多信息:

using System;
using System.DirectoryServices; 
using System.DirectoryServices.AccountManagement; 
...
PrincipalContext context = new PrincipalContext(ContextType.Domain, "mycompany.local");
GroupPrincipal findAllGroups = new GroupPrincipal(context, "*");
PrincipalSearcher ps = new PrincipalSearcher(findAllGroups); 

2 个答案:

答案 0 :(得分:1)

您可能瞄准的是.Net Framework的旧版本。转到项目属性,然后在RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?mev-hongkong\.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteRule ^product-category/babies-tots(/.*)?$ https://mothersenvogue.com.hk/shop/all-babies-tots$1 [L,R=301,NC,NE,QSD] 下的“应用程序”选项卡中查找。确保它是4或更高版本。

enter image description here

如果这不是问题,则执行“清理并重建”有时会解决此问题。

答案 1 :(得分:0)

如果您想尝试某些事情,请尝试这种可能性。

创建两个虚拟额外功能。在代码中的某个地方调用第一个。

经过两遍编译(可能仍然会失败)。在编辑器中编写一些代码,以强制“ Intellisense”从程序集中查找一些枚举值。

然后尝试再次编译。 (在黑暗中射击)。

一旦将其编译,就可以删除这两个函数。

这里是功能。

    private void CallThisToForceRefrence()
    {
        int x = 0;
        x = 1;
        x = (x + 1);
        if (x == 42)
        {
            DummyForRoslyn(); //will never execute
        }
        return;
    }

    private void DummyForRoslyn()
    {
        System.DirectoryServices.AccountManagement.PrincipalContext fakeCtx = new System.DirectoryServices.AccountManagement.PrincipalContext(System.DirectoryServices.AccountManagement.ContextType.Domain, "FakeNeverGoingToExecute");
        int sillyNum = 0;
        sillyNum = (int)fakeCtx.ContextType;
        if (sillyNum == (int)System.DirectoryServices.AccountManagement.ContextType.Domain)
        {
            // Does this Enum Refrence Force Roslyn to Go Looking in a First Refrence - First Compile Scenario ?
            sillyNum = 42;
        }
        return;
    }