Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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
扫描bin文件夹的C#IoC容器_C#_.net_Mono_Ioc Container_Auto Registration - Fatal编程技术网

扫描bin文件夹的C#IoC容器

扫描bin文件夹的C#IoC容器,c#,.net,mono,ioc-container,auto-registration,C#,.net,Mono,Ioc Container,Auto Registration,我正在寻找一个IoC容器,它可以扫描bin文件夹中所有程序集中的所有类型,并且与mono兼容 我曾经使用LightCore,它需要一点配置来声明特定接口的实现,然后自动解决它,但它似乎与mono不兼容 我也尝试过TinyIoC,但它只扫描被引用程序集中的类型,我的问题是,包含实现的程序集无法被需要解决它的其他项目引用(循环引用问题) 谢谢 听起来你需要解决循环参考问题,这将解决两个问题。我同意D Stanley的观点,但在你解决了这个问题之后,你可能会想继续讨论这个问题。好吧,除非我遗漏了什么(

我正在寻找一个IoC容器,它可以扫描bin文件夹中所有程序集中的所有类型,并且与mono兼容

我曾经使用LightCore,它需要一点配置来声明特定接口的实现,然后自动解决它,但它似乎与mono不兼容

我也尝试过TinyIoC,但它只扫描被引用程序集中的类型,我的问题是,包含实现的程序集无法被需要解决它的其他项目引用(循环引用问题)


谢谢

听起来你需要解决循环参考问题,这将解决两个问题。我同意D Stanley的观点,但在你解决了这个问题之后,你可能会想继续讨论这个问题。好吧,除非我遗漏了什么(如果是这样的话,我很高兴听到),我认为我不需要做任何改变。我在程序集A中的主要实体和业务逻辑,以及程序集B中的数据访问内容。程序集B引用A以了解类型,那么A不能有对B的引用,因为这将导致循环引用问题。但是使用DI意味着我可以在任何时候将程序集B(目前使用的是NHibernate)更改为程序集C(例如可以使用EntityFramework),更改配置,并在不重新编译主项目的情况下使整个工作正常进行。这太傻了。您不需要自动扫描支持;你自己写这个很容易。举个例子,你是对的,这很愚蠢,我只是想知道是否有现成的东西,但是谢谢你,我会尝试自己实现它:)