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

默认情况下,设置存储在: C:\Documents and Settings\\Local Settings\Application Data\

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

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

使用默认的内置行为,你不能!

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

答:路径构建算法必须满足安全性,隔离性和鲁棒性方面的某些严格要求。 虽然我们尝试通过使用友好的,应用程序提供的字符串尽可能容易地发现路径,但是不可能保持路径完全简单而不会遇到与其他应用程序冲突,欺骗等问题。

LocalFileSettingsProvider不提供更改存储设置的文件的方法。 请注意,提供程序本身并不首先确定配置文件位置 – 它是配置系统。 如果由于某种原因需要将设置存储在其他位置,建议的方法是编写自己的SettingsProvider。 这很容易实现,你可以在.NET 2.0 SDK中找到如何执行此操作的示例。 但请记住,您可能遇到上述相同的隔离问题。

我同意Robert Harvey的答案自己做, 或者写一个自定义设置提供者。

您始终可以读取和编写自己的XML配置文件 。

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