인터페이스의 모든 유형을로드하여 메소드를 호출 할 수 있습니다. 그러나 어셈블리는 컴파일 타임을 참조하지 않습니다. 그들은 bin 폴더에있을 것입니다.Unity가로드되지 않은 어셈블리에 유형을 어떻게 등록합니까?
Unity와 함께 할 수있는 일인가요? 어셈블리 그냥 bin 폴더 삭제 되었기 때문에 물론
using (var container = new UnityContainer())
{
container.RegisterType<IModule>();
var modules = container.ResolveAll(typeof(IModule));
foreach (IModule module in modules) { module.Logon(); }
Console.WriteLine("Done...");
Console.ReadLine();
}
이 모듈은 아무것도 해결 :
그래서 예를 들어 내가 좋아하는의 코드 종류가 있습니다. 현재 어셈블리에서 정적으로 참조되지 않습니다.
또는 일부 유형의 Assemblies.LoadAssembly()를 수행해야합니까? 나는 이것을 가능한 한 역동적으로하고 싶습니다. 가능한 경우 구성 파일이나 코드에 어셈블리 이름을 지정하지 않아도됩니다.
미리 감사드립니다.
Chris ... 예, 이미 위와 같은 작업을 수행했지만 생각보다 훨씬 효율적으로 통합 작업을 수행 할 수 있습니다. 나는 MEF를 볼 것이다. – PilotBob