내 클라이언트가 WPF
앱이의이 W
말을 할 수있는 시나리오를 가지고, 3 어셈블리 A
이 B
, W
에 노출 될 수 없습니다 C
는, 따라서 3 어셈블리는 콘크리트 공장에서 참조, F
라고 말하는이있는 필요한 인스턴스를 만들고 W
에게 제공합니다.참조 된 어셈블리를 다른 참조 된 어셈블리에로드하는 방법?
F
에 리플렉션을 사용하여 3 개의 개체를 생성하고 있습니다. 다음은
W
에
A
을 참조하는 경우
return (IClass)Activator.CreateInstance(Assembly.Load("A").GetType("A.AClass"),
BindingFlags.NonPublic | BindingFlags.Instance, null, null, null);
코드가 작동하는 코드이지만, A
이 F
에서 참조 할 때 (내가 Assembly.GetExecutingAssembly().GetReferencedAssemblies()
로 확인할 건너 A
가로드되지 (System.IO.FileNotFound Exception
)를 작동하지 않습니다).
나는 Assembly
이 필요하지 않은 경우로드 할 수 없다고 읽었습니다. 그런데 내 WPF
클라이언트가 어떻게 어셈블리를로드합니까? 예상되는 동작 인 경우 현재 Directory
경로를 찾고 A.dll
을 추가합니다. 주위에 어떤 생각이 있습니까?
['AppDomain.AssemblyResolve'] (http://msdn.microsoft.com/pl-pl/library/system.appdomain.assemblyresolve (v = vs.110) .aspx) 처리기를 사용해 보셨습니까? –
이것은 대체 기술이 아니므로 실제로 원래의 필요한 어셈블리를 얻을 수 있습니까? –
내가 아는 한이 필요한 어셈블리를 알고 있으므로 Assembly.LoadFrom을 통해 제공 할 수있다. –