Tag: 用户设置

移动应用程序时重置用户设置

我注意到,如果您将该应用程序.exe文件移动到另一个位置,则用户设置将重置。 根据我的理解,这是因为app数据文件夹中的位置也基于.exe的路径,这在生成哈希时会被考虑。 我知道有不同的选择,通过使用注册表或手动创建自定义配置文件,但我的问题是,当应用程序(.exe)移动到具有默认function的另一个位置时,是否可以保留用户设置微软提供? 对于我的测试,我使用独立的应用程序(仅一个.exe文件)。 只需将文件移动到,使用/Desktop/Test/ from /Desktop/会导致在C:\Users\\AppData\Local\\Appname_Url_使用默认用户生成新文件夹.config中。 旧的user.config仍然可用,因此如果将.exe文件移回其先前的位置,则会再次加载先前的设置。 这会变得很麻烦,不仅因为你丢失了设置,而且如果你在10个不同的位置移动文件10次,你最终会在appdata中有10个新文件夹。

如何通过ConfigurationManager写入User.Config文件?

我正在尝试使用ConfigurationManager将用户设置保留到配置文件中。 我想将这些设置仅限于用户,因为在没有管理员权限的情况下,无法在Vista / Win 7上保存应用程序更改。 这似乎让我得到了用户的配置,它似乎保存在Win 7中([Drive]:\ Users \ [Username] \ AppData \ Local \ [ApplicationName] \ [AssemblyName] [hash] \ [Version \] Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal); 每当我尝试将任何更改保存到此配置时,我都会遇到以下exception: InnerException: System.InvalidOperationException Message=”ConfigurationSection properties cannot be edited when locked.” Source=”System.Configuration” StackTrace: at System.Configuration.SectionInformation.VerifyIsEditable() at System.Configuration.MgmtConfigurationRecord.GetConfigDefinitionUpdates(Boolean requireUpdates, ConfigurationSaveMode saveMode, Boolean forceSaveAll, ConfigDefinitionUpdates& definitionUpdates, ArrayList& configSourceUpdates) 我尝试将自定义ConfigurationSection添加到此配置中。 我已经尝试添加到AppSettingsSection。 每当我调用config.Save()它都抛出上面的exception。 有任何想法吗? […]

如何以编程方式获取user.config文件的位置?

我想在我的Windows窗体应用程序中显示user.config文件的位置,以便用户可以轻松找到它。 我理解如何创建路径,这要归功于: 我可以控制.NET用户设置的位置,以避免丢失应用程序升级时的设置吗? 。 但是,如果这种情况发生变化,我宁愿不必在我的应用程序中构建路径,特别是如果有一个简单的方法来获取user.config文件位置。