使用 App 读取同一文件夹中的文本文件

Read a Text File in Same Folder With App

我有一个 Windows 表单应用程序。与应用程序在同一个文件夹中有一个文本文件。

我想阅读这个文本文件并将其写入富文本框。我尝试了几件事,但做不到。我应该怎么办?

这是我的解决方案资源管理器;

这是我的 About.cs:

 private void About_Load(object sender, EventArgs e)
    {
        this.FormBorderStyle = FormBorderStyle.FixedSingle;
        this.MaximizeBox = false;
        this.MinimizeBox = false;
        aboutText.Enabled = false;
        string appPath = Path.GetDirectoryName(Application.ExecutablePath);
        aboutText.Text = File.ReadAllLines(appPath + "TOSandAbout.txt").ToString();

    }

这样我看不懂

我现在没有 VS,所以没有截图,我也不能确定名字,但问题是因为 Visual Studio 将源构建到不同的目录(通常是bin/Debug/bin/Release/ 或类似的东西)。源目录中的每个文件在构建过程中都有一个行为,我相信 .txt 的默认值是 "Do Not Copy"。打开文件 (right click->Properties) 的“属性”对话框,在显示 "Build Action" 的位置确保显示 "None",然后在 "Copy to Output Directory" 下选择 "Copy if Newer"。这将确保文本文件在您构建时实际上与可执行文件一起出现(Build Action: None 只是意味着没有对该文件进行任何处理)。

当程序启动时,"current directory" 将(通常)设置为 exe 的位置。在这种情况下,您不必指定任何路径,只需使用 "TOSandAbout.txt" 作为路径即可。

如果这不起作用,那是因为该文件不存在。如果将文本文件添加到解决方案中,默认情况下 不会 将其复制到构建目录。右键单击该文件并点击“属性”,将 Copy to Output Directory 更改为 Copy alwaysCopy if newer 即可设置。