WPF如何在运行时修改项目文件夹中的资源/内容文件(不在bin目录中)?实施“最近的更改”部分

时间:2017-02-10 13:05:28

标签: c# wpf path resources buildaction

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

已编译和运行的应用程序对某些&#34;原始&#34;的所有信息都不了解。地点。在构建应用程序时,此位置仅对Visual Studio很重要。

如果要修改此文件夹中的文件,则应指定其绝对路径,即&#34; c:\your_project_folder\file.txt&#34;。

.exe不能从编译的位置知道