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


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

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

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


11198
2018-03-25 19:36


起源



答案:


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

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

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

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

我同意罗伯特哈维的答案自己做, 或编写自定义设置提供程序。


13
2018-03-25 21:07



这只是SUCKS Dude ...... - Mehdi LAMRANI


答案:


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

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

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

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

我同意罗伯特哈维的答案自己做, 或编写自定义设置提供程序。


13
2018-03-25 21:07



这只是SUCKS Dude ...... - Mehdi LAMRANI


你总是可以自己读写 XML配置文件


1
2018-03-25 19:44



是但我更愿意使用内置机制 - mack369


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


0
2018-03-25 20:08