【发布时间】:2015-06-05 16:45:13
【问题描述】:
所以我的主机程序将使用MEF DirectoryCatalogue 加载到我的插件中
所以目前我有:
Host.exe 和 Plugin1.dll
Plugin1.dll 在其自己的配置中设置了配置设置(Plugin1.dll.Config):
<applicationSettings>
<Plugin1.Settings>
<setting name="MyString" serializeAs="String">
<value>Hello</value>
</setting>
</Plugin1.Settings>
</applicationSettings>
在 Plugin1 中使用:
var myString = Settings.Default.MyString;
现在的问题是,这是一个 .dll 配置,因此更改它没有任何效果,因此在这种情况下,它实际上是硬编码和冗余的。
在互联网上阅读我发现:
每个可执行文件(EXE,而不是 DLL)都有一个 app.config 文件。可执行文件启动,创建其 AppDomain,然后加载 MyApp.exe.config。
但是通过将配置添加到我的Host.exe 这意味着当我添加新插件时,我必须使用新配置将我的 Host.exe 重新分发给我的客户,而不是 Host.exe 只是动态加载它找到的任何插件.
处理这种情况的正确方法是什么?
【问题讨论】:
标签: c# configuration app-config mef