2013-03-19 72 views
4

我的C#项目使用默认的配置文件(Properties > Settings.settings),它在%userprofile%\AppData\Local\MyApp\MyApp.exe_Url_hashorsomething中存储配置文件。我怎样才能做到没有最后一个目录,或最后一个目录不依赖于exe名称和散列(或其他什么部分)。使C#user.config不依赖于版本

此外,我将如何使它存储在漫游而不是本地?

+0

将挖出我用来将设置迁移到更新版本的应用程序的代码。 2分钟。 – spender 2013-03-19 12:13:35

+0

对不起,我在搜索时找不到这个问题。投票结束。 – 2013-03-19 12:23:54

回答

1

而不是摆脱“哈希或什么”,我通过添加一个字符串属性CurrentVersion设置。然后在启动时,我可以调用下面的方法:

public static void UpgradeSettingsIfRequired() 
{ 
    string version = Assembly.GetEntryAssembly().GetName().Version.ToString(); 
    if (Settings.Default.CurrentVersion != version) 
    { 
     Settings.Default.Upgrade(); 
     Settings.Default.CurrentVersion = version; 
     Settings.Default.Save(); 
    } 
} 

不知道你会如何去将它们转移到漫游配置文件虽然。抱歉。