覆盖应用程序设置

时间:2013-09-25 11:06:04

标签: c# class-library application-settings

我有一个具有 WinForm 应用程序(项目1)的解决方案,该应用程序使用来自另一个类库项目(项目2)的 Class2 。项目2使用 class3 ,它在另一个类库项目(项目3)中定义。

我知道我可以从我的主WinForm应用程序覆盖Project 2的应用程序设置,但是,我的问题是,我是否可以覆盖在我的类库项目(项目3)中定义的应用程序设置主要的WinForm应用程序(项目1)

我知道我看起来很复杂,但我不得不从主应用程序覆盖Project 3的应用程序设置。

任何人都可以向这个方向发光并建议如何解决这个问题吗?

... FYI

当你添加一个setting.settings文件时,它会自动创建一个app.config文件,我们可以从VS中的Setting.settings UI配置applicationSettings。下面是来自Project3的app.config文件内容,其applicationSettings我有兴趣在另一个WinForm项目中覆盖。

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Project3.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <Project3.Settings>
            <setting name="SettingInProject3" serializeAs="String">
                <value>TempPath</value>
            </setting>
        </Project3.Settings>
    </applicationSettings>
</configuration>

WinForm应用程序的app.config文件中的哪些修改可以覆盖Project3类库中定义的设置。

引用的层次结构就是这样的。的WinForm&GT; Project2DLL&GT; Project3DLL

如果需要进一步的信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

在visual studio中打开源项目中的设置,确保visual studio中设置查看器中的Access修饰符(在顶部)设置为public。现在可以从外部项目访问这些设置。