Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 覆盖应用程序设置_C#_Class Library_Application Settings - Fatal编程技术网

C# 覆盖应用程序设置

C# 覆盖应用程序设置,c#,class-library,application-settings,C#,Class Library,Application Settings,我有一个解决方案,它有一个WinForm应用程序(项目1),它利用另一个类库项目(项目2)中的Class2。项目2使用另一个类库项目(项目3)中定义的class3 我知道我可以从我的主WinForm应用程序中覆盖Project 2的应用程序设置,但是,我的问题是,我可以从我的主WinForm应用程序(项目1)中覆盖类库项目(项目3)中定义的应用程序设置吗 我知道这看起来很复杂,但我不得不从我的主应用程序中覆盖Project3的应用程序设置 有人能从这个方向提出一些看法并建议如何解决这个问题吗 仅

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

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

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

有人能从这个方向提出一些看法并建议如何解决这个问题吗

仅供参考

当您添加一个setting.settings文件时,它将自动创建一个app.config文件,我们可以从VS中的setting.settings UI配置应用程序设置。下面是Project3中的app.config文件内容,我有兴趣在另一个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>Project2DLL>Project3DLL


如果需要更多信息,请告诉我。

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

请显示一些代码我遇到了这个问题……您好,Reckface,非常感谢您的回复。是的,它很好用。但是,在我的例子中,我必须重写Project3 dll的设置,它的引用在Project2 dll中给出,Project2 dll的引用添加到我的主WinForm项目中,我应该重写它的app.config文件中的applicationSetting。如果这个信息不清楚,请告诉我。提前谢谢。您是否尝试过在项目1中添加项目3作为参考?或者在项目2中编写一个设置管理器类,使您能够访问项目3中的设置。它需要一个公共属性和一个公共保存方法来保存基础更改。这是一个好主意。因此,如果我使用settings manager类保存更改,这些更改会反映在project3的app.config文件中,还是会保存在AppData中?我只是想知道,因为我应该只能通过更新app.config来驱动这些更改。谢谢你抽出时间。