Witam,
W mojej aplikacji muszę odwołać się do kodu z innej dll-ki, lecz wszystko wykonywane jest przez mechanizm refleksji.
Oto fragment kodu:
Assembly assembly = Assembly.LoadFile(sel.DLL);
Type type = assembly.GetType(sel.NameClass);
object testInterface = Activator.CreateInstance(type);
Test test = ((ITest)testInterface).GetTest();
test.MakeTest();
sel.DLL - to ścieżka do dll-ki.
sel.NameClass - to nazwa klasy
Następnie tworzony jest obiekt i wykonywana w nim pewna logika.
Aplikacja działa prawidłowo jeśli dll-ka szukana jest w tym samym miejscu co plik exe (powyższy program). Aplikacja wtedy zachowuje się prawidłowo, ale jeśli dll-ka znajduje się w innej ścieżce niż nasz program to niestety wywala się błąd, iż nie można było odnaleźć danej metody.
jak temu zaradzić?
Pozdrawiam, Wolacz.