Properties.Settings.Default.Save()将user.config文件存储在带有哈希的目录中

时间:2012-07-04 08:13:33

标签: c# path settings properties.settings

我尝试保存用户设置。为了保存一些数据,我使用了这段代码:

Properties.Settings settings = Properties.Settings.Default;
settings.Key1 = "value";
settings.Save();

但它将user.config文件保存在以下路径下:

C:\Users\Me\AppData\Local\[CompanyName]\[ExeName]_Url_[some_hash]\[Version]\user.config

这与_Url_[some_hash]非常难看,我怎么能删除它?

2 个答案:

答案 0 :(得分:3)

你可以! 只需按照this article详细解释所有内容,然后您必须按如下方式修改UserConfigPath属性:

        private string UserConfigPath
    {
        get
        {
            System.Diagnostics.FileVersionInfo versionInfo;
            string strUserConfigPath, strUserConfigFolder;

            strUserConfigPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData, Environment.SpecialFolderOption.Create);
            versionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);
            strUserConfigPath = Path.Combine(strUserConfigPath, versionInfo.CompanyName, versionInfo.ProductName, versionInfo.ProductVersion, "user.config");
            strUserConfigFolder = Path.GetDirectoryName(strUserConfigPath);
            if(!Directory.Exists(strUserConfigFolder))
                Directory.CreateDirectory(strUserConfigFolder);
            return strUserConfigPath;
        }
    }

通过这种方式,您可以从头开始构建路径。 您还应该修改方法CreateEmptyConfig,以便在找不到user.config文件时进行默认操作。

答案 1 :(得分:-2)