我有以下文件夾結構的應用程序:爲什麼使用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:我不需要這樣做,因爲所有的程序集都位於同一個文件夾中。 –