我有一个通过反射调用其他库中的方法的服务。但是,其中一些库具有外部依赖性,例如有时用于执行其工作的app.config文件。
有没有关于如何做到这一点的最佳做法,或任何可以帮助解决这种情况的图书馆?
例如:如果我的服务应该在方法foo()上调用外部dll,则foo()然后使用app.config获取字符串列表,但直接与反射一起使用时会崩溃。
答案 0 :(得分:0)
您必须创建一个新的AppDomain来调用您的外部应用程序。
定义一个接口,以实现外部应用程序的使用。
创建一个派生自MarshallByRefObject的类并标记为可序列化并实现对外部应用程序的调用。
定义没有足够设置的AppDomain(配置文件等)
接口并调用它时,CreateInstanceAndUnwrap实现。