0

我想在运行时修改放置在我的项目文件夹(特别是“Assets/recentChanges.txt”)中的文件的内容。假设它包含有关应用程序最近更改的信息。它应该被读取并绑定到一个文本框控件,以后可以由开发人员编辑并保存回来。内容文件的问题是它们被复制到输出目录,因此我不是在编辑 Assets 文件夹中的原始文件,而是在bin/Debug/Assets/ 文件夹中的那个。并且嵌入式资源构建操作不是一个选项,因为无法修改此类文件。

问题是:如何在运行时修改其原始 root/Assets/recentChanges.txt 位置中提到的 .txt 文件?以下所有说明都指向类似的依赖于构建的路径:

Environment.CurrentDirectory;
Assembly.GetExecutingAssembly().Location;

或者,换句话说,在以下条件下实施“最近的更改”部分的正确方法是什么:

  • 基于其原始项目位置中的文本文件
  • 可以在运行时通过 UI 修改文件
  • 文件复制到输出文件夹并在发布的应用程序中对用户可见(通过文本框)

我知道这可能不是完美的方法,因为可以从数据库中收集“最近的更改”信息,或者可以手动修改 .txt 文件,然后将其复制到输出位置......但我认为这个问题有点令人困惑和我很想得到一些帮助。谢谢!

4

1 回答 1

0

编译和运行的应用程序对某些“原始”位置一无所知。此位置仅在构建应用程序时对 Visual Studio 很重要。

如果你想修改这个文件夹中的文件,你应该指定一个绝对路径,即“ c:\your_project_folder\file.txt”。

.exe 不应该知道它是从哪里编译的

于 2017-02-10T13:46:24.143 回答