Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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# 智能DLL选择通过代码_C#_Asp.net_Architecture - Fatal编程技术网

C# 智能DLL选择通过代码

C# 智能DLL选择通过代码,c#,asp.net,architecture,C#,Asp.net,Architecture,我目前正在从事一个项目,该项目有一个应用程序层和类库,非常好用 但我对同一应用程序的另一个客户机提出了新的要求,除了类库中的逻辑之外,其他一切都保持不变。 因此,我想知道我们是否可以为每个应用程序提供两个不同类库的解决方案,并根据web.config中的appsetting,选择要加载的库。 非常感谢您的帮助和建议 谢谢。你试过看微软的MEF吗?它允许您在运行时添加插件,这意味着您可以选择要加载的dll。听起来您想研究控制反转/依赖注入框架,如StructureMap、Ninject、,它们允

我目前正在从事一个项目,该项目有一个应用程序层和类库,非常好用
但我对同一应用程序的另一个客户机提出了新的要求,除了类库中的逻辑之外,其他一切都保持不变。
因此,我想知道我们是否可以为每个应用程序提供两个不同类库的解决方案,并根据web.config中的appsetting,选择要加载的库。
非常感谢您的帮助和建议


谢谢。

你试过看微软的MEF吗?它允许您在运行时添加插件,这意味着您可以选择要加载的dll。

听起来您想研究控制反转/依赖注入框架,如StructureMap、Ninject、,它们允许您提供公共接口的不同实现,可以使用配置文件进行配置。如果您不知道IOC是什么,或者IOC与MEF之间的区别,我想我应该在应用层更改实现。是吗?是的,使用MEF和IoC/DI,您需要将“应用程序层”和“类库”之间的依赖关系抽象到足以在另一个实现中交换的程度。你听说过依赖倒置原理吗?