C# 跨程序集使用应用程序设置

C# 跨程序集使用应用程序设置,c#,.net,plugins,C#,.net,Plugins,我正在编写一个应用程序,它在不同的程序集中包含一个插件系统 问题是插件系统需要从主应用程序(比如查找插件的目录)获取应用程序设置 这是怎么做到的,还是我走错了方向 编辑:我被鼓励添加一些关于插件系统如何工作的细节。我还没有完全解决这个问题,我只是刚刚开始实现它,但我基本上还是照做了。让主应用程序从应用程序设置中获取插件目录,并将其推送到插件系统。也许您可以在创建插件时插入配置作为参数 //Get the configuration for the current appDomain System

我正在编写一个应用程序,它在不同的程序集中包含一个插件系统

问题是插件系统需要从主应用程序(比如查找插件的目录)获取应用程序设置

这是怎么做到的,还是我走错了方向


编辑:我被鼓励添加一些关于插件系统如何工作的细节。我还没有完全解决这个问题,我只是刚刚开始实现它,但我基本上还是照做了。

让主应用程序从应用程序设置中获取插件目录,并将其推送到插件系统。

也许您可以在创建插件时插入配置作为参数

//Get the configuration for the current appDomain
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

//Create the plugin, and pass in the configuration
IPlugin myPlugin = new AlfaPlugin(config);

您可能需要对System.Configuration程序集的引用。

您可以编写一个自定义配置部分,它允许您编写表示XML架构的对象。一旦建立,您可以简单地请求该部分的当前实例

您可以通过从
System.Configuration.ConfigurationSection
派生并编写表示属性和子元素的属性来实现这一点。有关详细信息,请参阅

运行库的AppDomain是当前配置范围。名称空间关联所有配置文件并提供统一视图

要检索节的当前实例,可以使用


您的插件应该接受此部分的实例,而不是一般的
配置
对象。

您可能需要添加一些关于插件系统如何工作的详细信息。有很多不同的方式来处理主应用程序和插件之间双向的通信。