WPF 如何在运行时修改项目文件夹中的 resource/content 文件(不在 bin 目录中)?实施 "Recent changes" 部分
WPF How to modify resource/content file inside my project folder at runtime (NOT in bin directory)? Implementing "Recent changes" section
我想在运行时修改放置在我的项目文件夹(特别是 "Assets/recentChanges.txt")中的文件的内容。假设它包含有关应用程序最近更改的信息。它应该被读取并绑定到一个文本框控件,稍后可以由开发人员编辑并保存回来。 内容文件的问题是它们被复制到输出 目录,因此我没有编辑 Assets 文件夹中的原始文件,而是编辑 [=40= 中的文件]/文件夹。 Embedded Resource 构建操作不是一个选项,因为无法修改此类文件。
问题是:如何在运行时在其原始 root/Assets/recentChanges.txt 位置修改提到的 .txt 文件? 以下所有说明都指向类似的构建-依赖路径:
Environment.CurrentDirectory;
Assembly.GetExecutingAssembly().Location;
或者换句话说,在以下条件下实施 "Recent Changes" 部分的正确方法是什么:
- 基于原始项目位置的文本文件
- 可以通过UI
在运行时修改文件
- 文件已复制到输出文件夹并在已发布的应用程序中对用户可见(通过文本框)
我知道这可能不是完美的方法,因为 "recent changes" 信息可以从数据库中收集,或者 .txt 文件可以手动修改然后复制到输出位置...但我认为这个问题有点令人困惑,我希望得到一些帮助。谢谢!
编译后的 运行 应用程序对某些 "original" 位置一无所知。此位置仅在构建应用程序时对 Visual Studio 重要。
如果你想修改这个文件夹中的文件,你应该指定一个绝对路径,即“c:\your_project_folder\file.txt
”。
.exe 不应该知道它是从哪里编译的
我想在运行时修改放置在我的项目文件夹(特别是 "Assets/recentChanges.txt")中的文件的内容。假设它包含有关应用程序最近更改的信息。它应该被读取并绑定到一个文本框控件,稍后可以由开发人员编辑并保存回来。 内容文件的问题是它们被复制到输出 目录,因此我没有编辑 Assets 文件夹中的原始文件,而是编辑 [=40= 中的文件]/文件夹。 Embedded Resource 构建操作不是一个选项,因为无法修改此类文件。
问题是:如何在运行时在其原始 root/Assets/recentChanges.txt 位置修改提到的 .txt 文件? 以下所有说明都指向类似的构建-依赖路径:
Environment.CurrentDirectory;
Assembly.GetExecutingAssembly().Location;
或者换句话说,在以下条件下实施 "Recent Changes" 部分的正确方法是什么:
- 基于原始项目位置的文本文件
- 可以通过UI 在运行时修改文件
- 文件已复制到输出文件夹并在已发布的应用程序中对用户可见(通过文本框)
我知道这可能不是完美的方法,因为 "recent changes" 信息可以从数据库中收集,或者 .txt 文件可以手动修改然后复制到输出位置...但我认为这个问题有点令人困惑,我希望得到一些帮助。谢谢!
编译后的 运行 应用程序对某些 "original" 位置一无所知。此位置仅在构建应用程序时对 Visual Studio 重要。
如果你想修改这个文件夹中的文件,你应该指定一个绝对路径,即“c:\your_project_folder\file.txt
”。
.exe 不应该知道它是从哪里编译的