C# Windows窗体应用程序的通用配置文件
我是个新手。我有几个配置文件,它们在应用程序中用于多种用途。安装Windows应用程序时,我希望将这些文件存储在公用C# Windows窗体应用程序的通用配置文件,c#,winforms,visual-studio,C#,Winforms,Visual Studio,我是个新手。我有几个配置文件,它们在应用程序中用于多种用途。安装Windows应用程序时,我希望将这些文件存储在公用appdata文件夹中,可以使用以下路径访问该文件夹: Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) 因为它需要最少的用户关注,所以最好的实现方法是什么 注意:当前文件存储在应用程序的安装目录中,因此管理员权限较低的用户会出现问题,因此会更改策略。这是未经测试的,但应该可以工作
appdata
文件夹中,可以使用以下路径访问该文件夹:
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
因为它需要最少的用户关注,所以最好的实现方法是什么
注意:当前文件存储在应用程序的安装目录中,因此管理员权限较低的用户会出现问题,因此会更改策略。这是未经测试的,但应该可以工作 运行此操作时,首先要验证
sourceFolder
和targetFolder
中的路径是否指向正确的位置
var sourceFolder = System.Windows.Forms.Application.StartupPath;
var targetFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var di = new DirectoryInfo(sourceFolder);
foreach (var file in di.EnumerateFiles("*.ini"))
File.Move(file.FullName, Path.Combine(targetFolder, file.Name));
然后您可以枚举与特定模式匹配的文件(这里我假设您的设置文件以.ini
结尾,但您可以根据需要更改模式),并将每个文件移动到新位置
var sourceFolder = System.Windows.Forms.Application.StartupPath;
var targetFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var di = new DirectoryInfo(sourceFolder);
foreach (var file in di.EnumerateFiles("*.ini"))
File.Move(file.FullName, Path.Combine(targetFolder, file.Name));
也许换一种说法,用户不必将文件复制到appdata,而应该在应用程序启动期间完成(我猜是这样)。