Asp.net 5 (vNext) 如何通过 System.DirectoryServices 使用活动目录

Asp.net 5 (vNext) How to use active directory with System.DirectoryServices

我正在玩 VS 2015 和 Asp.net 5,但我有一个问题。

我无法在 Asp.net 中使用 System.DirectoryServices 5.

同时使用 System.DirectoryServices 和 DirectoryEntry test = new DirectoryEntry();行没有用红色下划线作为错误但是当我尝试构建解决方案时我得到这样的错误

错误 CS0234 类型或命名空间名称 'DirectoryServices' 在命名空间 'System' 中不存在(是否缺少程序集引用?)ConsoleApp.ASP.NET Core 5.0 Program.cs 2

我的默认 project.json 就像

{
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
    "run": "run"
},
"frameworks": {
    "aspnet50": {  },
    "aspnetcore50": {
        "dependencies": {
            "System.Console": "4.0.0-beta-22231"
        }
    }
}

}

我把它改成

{
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
    "run": "run"
},
"frameworks": {
    "aspnet50": {  
        "frameworkAssemblies": {
            "System.DirectoryServices": ""
        }
    },
    "aspnetcore50": {
        "dependencies": {
            "System.Console": "4.0.0-beta-22231"
        }
    }
}

}

我的 program.cs 是

using System;
using System.DirectoryServices;
namespace ConsoleApp
{
public class Program
{
    public void Main(string[] args)
    {
        Console.WriteLine("Hello World");
        DirectoryEntry test = new DirectoryEntry();
        Console.ReadLine();
    }
}

}

谢谢。

目前 ASP.net 核心不支持所有程序集。您的 project.json 文件同时启用了 ASP.net 核心和 ASP.net50。

如果您从框架中删除 aspnetcore50,那么您的代码将正常工作。

 {
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
    "run": "run"
},
"frameworks": {
    "aspnet50": {  
        "frameworkAssemblies": {
            "System.DirectoryServices": ""
        }
    }
}

如果您是 运行 ASP.Net 5 RC 1,则需要在 project.json.

中进行以下更改
  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
        "System.DirectoryServices": "4.0.0.0"
      },
      "dependencies": { }
    },
    "dnxcore50": { }
  },