检索应用程序配置“设置”值

本文关键字:设置 应用程序 配置 检索 | 更新日期: 2023-09-27 18:36:44

我有一个包含以下内容的 App.config 文件(由 Visual Studio 生成,无需手动编辑):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="FaxMonitorCSharp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <userSettings>
        <FaxMonitorCSharp.Properties.Settings>
            <setting name="BaseFolder" serializeAs="String">
                <value>C:'IncFaxesTest</value>
            </setting>
        </FaxMonitorCSharp.Properties.Settings>
    </userSettings>
</configuration>

如何在 C# 中检索 BaseFolder 的值?我试过:

string g_fax_loc = System.Configuration.ConfigurationSettings.AppSettings["BaseFolder"];

但是我收到一个过时的方法警告,而是要求我使用一个很长的方法名称,其中包含一个!

我错过了什么吗?

检索应用程序配置“设置”值

配置文件是在我使用"属性"屏幕后由VS自动生成的...

如果从属性屏幕生成它,则应在使用该屏幕时使用 Visual Studio 为你生成的强类型数据类型。

string baseFolder = FaxMonitorCSharp.Properties.Settings.Default.BaseFolder;

或者,如果您在文件中包含using FaxMonitorCSharp.Properties;,您将使用它,您可以将其缩短为

var baseFolder = Settings.Default.BaseFolder;

仅供参考,正如我所看到的,该设置位于userSettings部分中,如果您希望在下次打开程序时保存并重新加载作业,您还需要在设置类上调用Save()以将您的更改写出到硬盘驱动器。

Settings.Default.BaseFolder = "C:'Example";
Settings.Default.Save();