它是否存在像 Path.GetDirectoryName(Application.UserAppDataPath) 这样的系统,它将根据我的应用程序名称和版本为我提供要写入的确切文件夹?
不,它不存在,至少在 Windows 7 上运行时(不了解 Windows 8/WinRT/Windows Store 应用程序)。可行的解决方案是将Environment.GetFolderPath(...)
输出与您的应用程序的自定义路径连接起来。通常,为了减少冲突的机会,这可能是类似的YourOrganization\YourApplication
,或者YourFullName\YourApplication
,也可能是附加版本。
或者 ProgramData 不适合这样做。
这是在磁盘上存储应用程序范围信息的正确位置。与您的应用程序相关的信息以及登录计算机的每个 Windows 用户的不同信息应改为<User folder>\AppData\Roaming\...
, 或<User folder>\AppData\Local\...
.
注意:正如评论中已经提到的那样,通常需要管理员权限才能在C:\ProgramData...中工作,因此您需要准备一个安装项目,在安装阶段,将在ProgramData中创建文件夹并给出正确的权限。