我要测试一个我为c#
构建的新dllprivate void button1_Click(object sender, EventArgs e)
{
String [] first = UserQuery.Get_All_Users();
//MessageBox.Show(first);
}
但我在String [] first = UserQuery.Get_All_Users();
User_Query.dll中出现未处理的“System.NullReferenceException”类型异常
附加信息:未将对象引用设置为对象的实例。
我一直想把这个问题拿出来好几个小时,但找不到任何零变量
我发布我的dll,以防dll错误
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace User_Query
{
public class UserQuery
{
public static string[] Get_All_Users()
{
string[] names = new string[10];
var path = string.Format("WinNT://{0},computer", Environment.MachineName);
using (var computerEntry = new DirectoryEntry(path))
{
var userNames = from DirectoryEntry childEntry in computerEntry.Children
where childEntry.SchemaClassName == "User"
select childEntry.Name;
byte i = 0;
foreach (var name in userNames)
{
Console.WriteLine(name);
names[i] = name;
i++;
}
return names;
}
}
}
}
答案 0 :(得分:1)
你的问题。路径变量...因为应该有\\
而不是//
答案 1 :(得分:0)
这里的问题原来不是代码,而是VS2010没有加载dll。发生这种情况是因为我决定将程序从使用dll从调试更改为发布版本,但是在执行之后我没有清理项目,因此程序没有正确加载dll。所有需要做的就是清理项目