WPF 如何在运行时修改项目文件夹中的资源/内容文件(不在 bin 目录中)?实施"Recent changes"部分



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

问题是:如何在运行时修改上述.txt文件的原始root/Assets/recentChanges.txt位置以下所有指令都指向类似的构建依赖路径:

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

或者,换句话说,在以下条件下,实施"最近的变化"部分的正确方法是什么:

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

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

编译并运行的应用程序对某些"原始"位置一无所知。只有在生成应用程序时,此位置对Visual Studio才很重要。

如果要修改此文件夹中的文件,则应指定该文件的绝对路径,即"c:your_project_folderfile.txt"。

不能假定.exe知道它是从哪里编译的

最新更新