如何更改.NET用户设置位置

时间:2010-03-25 19:36:46

标签: c# appsettings application-settings

默认设置存储在:C:\Documents and Settings\\Local Settings\Application Data\<Project Name>

如何将此路径更改为应用程序目录。我也不想为不同的用户提供不同的文件。如何使设置全局?

我尝试将设置范围更改为“应用程序”,但我无法在运行时更改它们。

3 个答案:

答案 0 :(得分:13)

Using the default built-in behavior you can't!

  

问:为什么路径如此模糊?有没有办法改变/定制   它吗

     

答:路径构建算法必须满足一定的严格要求   安全方面的要求,   隔离和稳健。虽然我们   试图让路径变得容易   通过使用可发现   友好的,应用程序提供   字符串,不可能保留   没有的道路完全简单   碰到碰撞等问题   与其他应用程序,欺骗等。

     

LocalFileSettingsProvider没有   提供一种更改文件的方法   存储哪些设置。注意   提供者本身并不确定   第一个配置文件位置   地方 - 这是配置   系统。如果你需要存储   设置在不同的位置   某种原因,推荐的方法是   编写自己的SettingsProvider。这个   实现起来相当简单   可以在.NET 2.0 SDK中找到示例   这表明如何做到这一点。记住   但是你可能遇到同样的问题   上面提到的隔离问题。

我同意罗伯特哈维的答案自己做,or write a custom settings provider.

答案 1 :(得分:1)

您随时可以阅读和编写自己的XML configuration files

答案 2 :(得分:0)

以编程方式更改所有用户的设置存在困难(因为它们来自exe.config文件,该文件通常位于Program Files中,因此在现代操作系统中受到保护,不受写入访问)。您可以尝试在应用程序范围内进行设置,但随后使用ConfigurationManager搞乱配置文件,类似于this question的解决方案。