相关疑难解决方法(0)

在Windows窗体应用程序中保存应用程序设置的最佳实践

我想要实现的非常简单:我有一个Windows窗体(.NET 3.5)应用程序,它使用一个路径来读取信息.用户可以使用我提供的选项表单修改此路径.

现在,我想将路径值保存到文件中供以后使用.这将是保存到此文件的众多设置之一.该文件将直接位于应用程序文件夹中.

我理解有三种选择:

  • ConfigurationSettings文件(appname.exe.config)
  • 注册处
  • 自定义XML文件

我读到.NET配置文件没有预见到将值保存回来.至于注册表,我想尽可能远离它.

这是否意味着我应该使用自定义XML文件来保存配置设置?如果是这样,我希望看到代码示例(C#).

我已经看过关于这个问题的其他讨论,但我仍然不清楚.

c# xml configuration-files application-settings winforms

561
推荐指数
11
解决办法
43万
查看次数

AppSettings与applicationSettings的优缺点(.NET app.config/Web.config)

在开发.NET Windows窗体应用程序时,我们可以在这些App.config标记之间进行选择以存储配置值.哪一个更好?

<configuration>

  <!-- Choice 1 -->
  <appSettings>
    <add key="RequestTimeoutInMilliseconds" value="10000"/>
  </appSettings>

  <!-- Choice 2 -->
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" >
        <section name="Project1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5612342342" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <Project1.Properties.Settings>
      <setting name="TABLEA" serializeAs="String">
        <value>TABLEA</value>
      </setting>
    </Project1.Properties.Settings>
  </applicationSettings>

</configuration>
Run Code Online (Sandbox Code Playgroud)

.net app-config web-config

160
推荐指数
5
解决办法
9万
查看次数

我可以控制.NET用户设置的位置,以避免丢失应用程序升级的设置吗?

我正在尝试自定义user.config文件的位置.目前,它存储了哈希和版本号

%AppData%\[CompanyName]\[ExeName]_Url_[some_hash]\[Version]\
Run Code Online (Sandbox Code Playgroud)

我希望它与应用程序的版本无关

%AppData%\[CompanyName]\[ProductName]\
Run Code Online (Sandbox Code Playgroud)

可以这样做,怎么做?有什么影响?升级后,用户是否会丢失先前版本的设置?

settings .net-2.0

101
推荐指数
4
解决办法
5万
查看次数

在.NET中使用Settings.settings文件时,实际存储的配置在哪里?

在.NET中使用Settings.settings文件时,实际存储的配置在哪里?我想删除保存的设置以恢复默认状态,但找不到存储的位置...任何想法?

.net c# settings

94
推荐指数
4
解决办法
11万
查看次数

ConfigurationManager.AppSettings ["SettingName"] vs Properties.Settings.Default.SettingName何时应该使用每个?

当我应该使用configurationManager.AppSettings或visual studio生成的强类型设置时,应该指示什么?在大多数情况下,强类型的似乎更合适,但我认为可以使用ConfigurationManager方法动态地将设置添加到已部署的应用程序,但是在是否有任何指导条件下,每种情况都可以使用?

.net configuration appsettings

20
推荐指数
2
解决办法
1万
查看次数

如何从程序集配置文件中检索AppSettings?

我想从名为MyAssembly.dll.config的程序集配置文件中检索AppSetting项.这是配置文件的示例:

<configuration>
    <appSettings>
        <add key="MyKey" value="MyVal"/>
    </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这是检索它的代码:

var myKey = ConfigurationManager.AppSettings["MyKey"];
Run Code Online (Sandbox Code Playgroud)

.net c# app-config

17
推荐指数
2
解决办法
2万
查看次数

如何在不使用用户设置的情况下在运行时读取/写入app.config设置?

我正在寻找一种方法来存储可以使用应用程序设置在运行时写入的应用程序或机器级别设置.用户设置允许读/写,但应用程序设置不允许.我一直在使用用户设置在运行时保存这样的设置,但由于以下原因,这已被证明是不切实际的:

  • 机器的所有用户都需要共享设置.
  • 在支持呼叫中(特别是在危机情况下),很难向用户/员工解释在何处手动查找和修改这些设置(appdata是隐藏文件夹等).
  • 新版本的应用程序需要使用以前的设置(用户设置似乎被新版本吹走了).
  • 我们的员工通常会将应用程序复制到新文件夹,该文件夹也会重置用户设置.

我们公司的机器仅供一个用户使用,因此通常不需要用户特定的设置.

否则我真的很喜欢使用应用程序设置,并希望尽可能继续使用它们.如果设置可以与EXE位于同一个文件夹中(比如曾经做过的好的'ini文件),那将是理想的选择.

注意:这是一个WPF应用程序,而不是ASP.net Web应用程序,所以没有web.config.

.net wpf app-config appsettings visual-studio

14
推荐指数
2
解决办法
3万
查看次数