如何获取C#项目解决方案内指定文件夹KeePassFiles的通用路径
解决方案
步骤1:配置文件属性
在Visual Studio解决方案资源管理器中找到KeePassFiles文件夹下的Database.kdbx和Database.key两个文件,右键选中「属性」,做如下配置:
- 「生成操作」设置为内容
- 「复制到输出目录」设置为如果较新则复制(或「始终复制」)
该配置会保证项目编译后,KeePassFiles文件夹及内部文件会自动同步到程序运行目录,所有下载项目的用户编译后都会生成对应目录结构,无需手动调整。
步骤2:路径获取代码
直接读取当前程序的运行根目录拼接路径即可,该方案同时兼容开发调试、编译发布场景:
// 获取当前程序运行的根目录 string basePath = AppContext.BaseDirectory; // 拼接文件路径,Path.Combine会自动适配不同系统的路径分隔符 var dbpath = Path.Combine(basePath, "KeePassFiles", "Database.kdbx"); var keypath = Path.Combine(basePath, "KeePassFiles", "Database.key");
不建议直接读取解决方案目录路径,该路径仅存在于开发环境,程序编译发布后不存在解决方案目录结构,会导致路径读取失败。
内容的提问来源于stack exchange,提问作者Beardy
相关产品推荐
相关产品推荐

