2

我有一个通过反射调用其他库中的方法的服务。但是,其中一些库具有外部依赖项,例如有时用于执行其工作的 app.config 文件。

有没有关于如何做到这一点的最佳实践,或者任何可以帮助解决这种情况的库?

例如:如果我的服务应该在方法 foo() 上调用外部 dll,则 foo() 会使用 app.config 获取字符串列表,但直接与反射一起使用时会崩溃。

4

1 回答 1

0

您必须创建一个新的 AppDomain 来调用您的外部应用程序。

定义一个接口来实现您的外部应用程序使用。

创建一个从 MarshallByRefObject 派生的类并标记为可序列化并实现对外部应用程序的调用。

定义一个没有足够设置(配置文件等)的 AppDomain

CreateInstanceAndUnwrap 实现为您接口并调用它。

于 2015-01-16T18:34:09.480 回答