通过 ConfigurationManager 访问用户设置


嗨,大家好,

我想从本地用户设置文件中读取设置。 我是从库中执行此操作(而不是设置所属的应用程序)。 这是我的 App.Config 文件:

XML
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="XXX.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <XXX.Properties.Settings>
            <setting name="Language" serializeAs="String">
                <value>English (United Kingdom)</value>
            </setting>
        </XXX.Properties.Settings>
    </userSettings>
</configuration>

我可以创建一个配置类:

System.Configuration.Configuration userConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);

但我不确定访问语言设置值的最佳方法。 我在网上搜索失败,但我有一种感觉,我可能必须创建一个自定义类。 我过去创建过自定义配置类,但我想知道是否有更快的方法来获取用户设置。

解决方案1

不是吗 Settings.Default.[SettingNameHere]

抱歉,我读这个问题有点不小心。

如果另一个程序集是类库类型的项目,则配置部分(自定义部分)应该出现在将“运行”的项目中。 我不确定 dll/类库项目是否也能够从将运行的项目访问用户设置。 你可以尝试一下。

如果无法访问它,您可以使用 LINQ/XPath 来读取配置,就像普通的 XML 文件一样。

コメント

タイトルとURLをコピーしました