现在,当我发布我的 .NET 应用程序的新版本时,UserAppDataPath 路径指向一个包含内部版本号的新文件夹。
Documents and Settings\UserName\Application Data\Company\AssemblyName\1.0.0.0
我将此路径用作扩展用户 UI 设置文件的方便存储位置。每次我释放用户都会丢失他们以前的 UI 设置。
删除 \ 1.0.0.0版本号并使用其根路径是否安全?还是有更好的方法将设置存储在始终具有写入权限的地方?
现在,当我发布我的 .NET 应用程序的新版本时,UserAppDataPath 路径指向一个包含内部版本号的新文件夹。
Documents and Settings\UserName\Application Data\Company\AssemblyName\1.0.0.0
我将此路径用作扩展用户 UI 设置文件的方便存储位置。每次我释放用户都会丢失他们以前的 UI 设置。
删除 \ 1.0.0.0版本号并使用其根路径是否安全?还是有更好的方法将设置存储在始终具有写入权限的地方?
AppSettings 确实支持升级。看看这里。希望这会为您指明正确的方向...
从以前的程序集版本中检索存储在潜在旧文件夹中的自定义数据时,我正在使用以下代码:
string suffix = "/MyUserSettings.dat";
string folder = Application.UserAppDataPath;
string filename = folder + suffix;
if (!File.Exists(filename))
{
// Check whether an older folder from a previous version with appropriate user data exists
DirectoryInfo[] directories = new DirectoryInfo(folder).Parent.GetDirectories("*", SearchOption.TopDirectoryOnly);
for (int i = 0; i < directories.Length; i++)
{
if (File.Exists(directories[i].FullName + suffix))
{
filename = directories[i].FullName + suffix;
}
}
}
if (File.Exists(filename))
{
// load user settings from file
}
else
{
// use default settings
}