未处理的异常c#dll

时间:2012-09-24 16:28:43

标签: c# dll nullreferenceexception

我要测试一个我为c#

构建的新dll
private 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;
            }           
        }
    }
}

2 个答案:

答案 0 :(得分:1)

你的问题。路径变量...因为应该有\\而不是//

答案 1 :(得分:0)

这里的问题原来不是代码,而是VS2010没有加载dll。发生这种情况是因为我决定将程序从使用dll从调试更改为发布版本,但是在执行之后我没有清理项目,因此程序没有正确加载dll。所有需要做的就是清理项目