我正在玩VS 2015和Asp.net 5,但我有一个问题。
我无法在Asp.net 5中使用System.DirectoryServices。
使用System.DirectoryServices和DirectoryEntry test = new DirectoryEntry();行没有下划线,红色表示错误但是当我尝试构建解决方案时,我得到错误
错误CS0234类型或命名空间名称' DirectoryServices'命名空间中不存在'系统' (您是否缺少程序集引用?)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();
}
}
}
谢谢。
答案 0 :(得分:4)
目前并非所有程序集都支持ASP.net Core。您的project.json文件同时启用了ASP.net核心和ASP.net50。
如果从框架中删除aspnetcore50,那么您的代码将起作用。
{
"version": "1.0.0-*",
"dependencies": {
},
"commands": {
"run": "run"
},
"frameworks": {
"aspnet50": {
"frameworkAssemblies": {
"System.DirectoryServices": ""
}
}
}
答案 1 :(得分:0)
如果您运行的是ASP.Net 5 RC 1,则需要在project.json中进行以下更改。
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.DirectoryServices": "4.0.0.0"
},
"dependencies": { }
},
"dnxcore50": { }
},