我有以下文件夹结构的应用程序:为什么使用Activator.CreateInstance创建的实例不能解析引用?
Application\Modules\XXX
当然内部XXX任何组件发现XXX内的其他组件。
的问题发生与被实例化用于反射一些实例:
TProvider providerInstance = (TProvider)Activator.CreateInstance(providerType));
TProvider有一个返回在另一组件(存储在XXX以及)定义的类的方法。当调用必须加载引用的providerInstance的方法时,即使依赖项位于同一个XXX文件夹中,我也会收到FileNotFoundException有关未找到相关程序集的信息。
看着融合日志组装装载机只检查上的应用程序文件夹,而不是XXX?
为什么发生这种情况,以及如何解决它的任何想法?
谢谢。
程序集加载和您创建对象实例的方式彼此不相关。 ' '应该可以帮到你。 –
Dennis
@ Dennis:在调用providerInstance的某些方法时,只会解决一些依赖问题。如果providerInstance的方法将返回在另一个程序集上定义的类,该类将仅在首次调用该方法时才被重新解析。如果我使用ActivatorInstance创建实例,则失败。如果我通常创建它的工作。 –
@ Dennis:我不需要这样做,因为所有的程序集都位于同一个文件夹中。 –