C# - 在使用没有引用的依赖注入时,将dll复制到exe输出目录?

Not*_*Dan 3 .net c# dependency-injection visual-studio

我有一个C#解决方案,我使用依赖注入来解析dll之间的引用.我有一个exe项目和一些其他没有被exe引用的dll项目(它通过IoC容器使用dll).项目设置是默认的visual studio设置,它在其自己的文件夹中构建每个dll.由于exe没有引用dll,因此它们永远不会被复制到exe的输出目录中,并且不会被IoC框架找到.

你怎么处理这个?你在同一个目录中构建它们吗?使用post build copy命令?或者是其他东西?

Ree*_*sey 5

我通常使用构建后复制命令(使用构建事件,因此它们是自动的)来处理这种情况,该命令将依赖性程序集放入共享文件夹中.

然后我确保此文件夹包含在我的IoC容器的搜索路径中,以便找到它们.

另一个类似的选择是在主应用程序项目中使用构建事件.然后,它可以将依赖项复制到适当的文件夹中.这样做的优点是允许不同的依赖关系在同一解决方案中用于不同的应用程序,同时仍然易于维护.