C# 创建exe文件后出现文件丢失错误

C# 创建exe文件后出现文件丢失错误,c#,winforms,visual-studio-2012,deployment,exe,C#,Winforms,Visual Studio 2012,Deployment,Exe,我已经创建了一个windows应用程序项目,它运行良好。加载表单时,它读取一个文本文件并将数据打印到表单中的表中。当我发布并执行它时,它抛出文件丢失错误。当我将项目转换为可执行文件时,该文本文件丢失。该文本文件位于应用程序的“开始路径”文件夹中。我在出版时有没有遗漏什么 错误: System.IO.FileNotFoundException:找不到文件'C:\Users\\AppData\Local\Apps\2.0\4V17NKV8.EJ8\H5VC3CZ8.AM3\atum..tion\u

我已经创建了一个windows应用程序项目,它运行良好。加载表单时,它读取一个文本文件并将数据打印到表单中的表中。当我发布并执行它时,它抛出文件丢失错误。当我将项目转换为可执行文件时,该文本文件丢失。该文本文件位于应用程序的“开始路径”文件夹中。我在出版时有没有遗漏什么

错误:
System.IO.FileNotFoundException:找不到文件'C:\Users\\AppData\Local\Apps\2.0\4V17NKV8.EJ8\H5VC3CZ8.AM3\atum..tion\u 5f39d67ebcfcae03\u 0001.0000\u 14487f1ba676fa3d\Data'。


我正在使用visual studio 2012和c#project。

我找到了此错误的答案。实际上,我在分配文件路径时犯了错误。之前,我已按以下方式分配了文件路径:

private void Form1_Load(object sender, EventArgs e)
    {
        StreamReader sr = new StreamReader"E:/123.txt");
        richTextBox1.Text = sr.ReadToEnd();
    }
因此,在创建可执行文件后,当我们在其他系统中运行可执行文件时,我们应该将此txt文件复制到同一文件夹(E:/123.txt)。但这不公平。但是使用安装程序的方法,我们可以嵌入文件,如果你不想创建安装程序文件和直接exe文件,请执行以下操作

  • 通过右键单击项目名称并选择添加现有文件来添加文件。它会将文件添加到列表中
  • 二,

    您应该添加
    System.Reflection
    的名称空间。
    3.然后发布您的项目,它将使用您发布的数据部署该文件。

    您介意将代码发布到您尝试加载文本文件的位置吗?
    private void Form1_Load(object sender, EventArgs e)        
        {
            string path;
            path = System.IO.Path.GetDirectoryName(
               System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
            path = path.Replace("file:\\", "");
            StreamReader sr = new StreamReader(path +"/123.txt");
            richTextBox1.Text = sr.ReadToEnd();
        }