C# “功能已停止工作”;运行代码时出错

C# “功能已停止工作”;运行代码时出错,c#,C#,我有一个windows窗体应用程序,它可以处理我试图使其可移植的文本文件数据集(即:要从外部硬盘驱动器或笔驱动器运行应用程序,不需要将数据集直接复制到C:\驱动器) 我变了 StreamReader fileitem = new StreamReader("c:\\dataset.txt"); 进入 并将数据集复制到exe文件路径(…/bin/debug) 但它显示错误“函数已停止工作”! 有什么想法吗?下面是一个示例,说明如何获取可执行文件的绝对路径: static public strin

我有一个windows窗体应用程序,它可以处理我试图使其可移植的文本文件数据集(即:要从外部硬盘驱动器或笔驱动器运行应用程序,不需要将数据集直接复制到C:\驱动器)

我变了

StreamReader fileitem = new StreamReader("c:\\dataset.txt");
进入

并将数据集复制到exe文件路径
(…/bin/debug)
但它显示错误“函数已停止工作”!
有什么想法吗?

下面是一个示例,说明如何获取可执行文件的绝对路径:

static public string AssemblyDirectory
{
    get
    {
        string codeBase = Assembly.GetExecutingAssembly().CodeBase;
        UriBuilder uri = new UriBuilder(codeBase);
        string path = Uri.UnescapeDataString(uri.Path);
        return Path.GetDirectoryName(path);
    }
}
取自

如果实现此属性,则可以将代码更新为以下内容:

StreamReader fileitem = new StreamReader(AssemblyDirectory + "dataset.txt");

错误出现在哪里?它不是代码错误。操作系统显示了这一点。但是当我将数据集复制到C驱动器时,它工作@SlakStreamReader的路径值不是相对的,如果我记得正确的话。您需要获取执行程序集的位置,然后将文件名附加到该位置。谢谢@Logarr。请清除您的answe请给我一个评论?谢谢@Logarr。但是当我运行它时,我得到了相同的错误。我需要更多的细节。你的数据文件有多大?你还在试着从
bin/debug
中运行它吗?你是否设置了断点并进入代码以确认这行代码的问题?数据集大约是2.5 GiG。是的p、 我仍在尝试在同一路径@LogarrAnd中执行此操作,这是您将其直接放在C:驱动器上时使用的同一个2.5 GB文件?@user3403967-抱歉,我没有回复您。您解决问题了吗?
StreamReader fileitem = new StreamReader(AssemblyDirectory + "dataset.txt");