gpt4 book ai didi

c# - 修改Program Files目录下的App.config

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:59 25 4
gpt4 key购买 nike

有点像两部分的问题。

我开发了一个可以读取和写入 App.config 的应用程序。该应用程序由我的 MSI 安装程序安装在 Program Files 中。

它在我的 Win7 计算机上运行良好,但我的 Win7 用户在写入此 App.config 时遇到访问被拒绝的情况。

我正在使用以下代码写入 app.config:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["Endpoint"].Value = endpointTxtBox.Text;
config.Save(ConfigurationSaveMode.Modified);
  1. 为什么我的开发电脑上没有遇到这个问题?我已尝试使用本地管理员帐户和普通本地用户帐户。

  2. 如何将 App.config 重定位到未 protected 目录?

最佳答案

卡塔尔, 您不必为了让您的用户保存他们的应用程序设置而移动 app.config; .NET 已经支持在内置的用户可写存储中保存用户范围的应用程序设置!您甚至可以在 app.config 文件中指定默认用户设置。

查看此链接了解详情:

http://msdn.microsoft.com/en-us/library/8eyb2ct1(v=vs.110).aspx

请注意,使用强类型的 .NET 设置类而不是原始的、更弱类型的 AppSettings NameValueCollection。 (不过,设置仍然可以存储在 app.config 中。)

您可以在VS中创建一个设置文件(该模板在VS中称为“设置文件”)。

起初有几件事让我对设置文件感到困惑,所以我想我会向您指出它们:

1) 首先:.settings 文件。 VS 设计器允许您定义您的应用程序设置、它们的类型和它们的范围(即用户或应用程序)。 这是设计器在您使用设计器时修改的文件,但运行时配置更改永远不会写入此文件。它定义了您的应用程序设置及其默认值。就是这样。 起初,当我试图围绕设置文件思考时,我并没有明白这一点。

另外,请注意 .settings 文件上的构建操作设置为 SettingsSingleFileGenerator。

2) .designer.cs 文件。 VS/MSBuild 在构建时为您生成此文件,因为对 .settings 文件的构建操作设置为 SettingsSingleFileGenerator。它生成的类是您的配置属性的强类型包装器,您同样可以将其用于您的应用程序范围和用户范围的属性。

3) Settings 类包装的运行时设置仍然存储在 app.config 中。

4) 用户设置存储在该用户的 AppData\Local 目录下,因此他们具有完全的读/写权限。

关于c# - 修改Program Files目录下的App.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21778208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com