'모듈성을 통일성'이라는 프로젝트와 비슷한 코드를 작성하려고합니다. 나는 2 개의 모듈을 만들었다 : 모듈 A (코드를 통해로드 됨)와 모듈 D (디렉토리에서로드 됨). 둘 다 성공적으로로드됩니다. 내가 참고로 복용하고프리즘의 모듈 종속성
링크는 https://msdn.microsoft.com/en-us/library/ff921068(v=pandp.40).aspx 소스 코드는 위의 링크
에서 취할 수있다하지만 난 의존성을 설정하려고하면 제대로 동작하지 않습니다. 이 프로젝트에서 종속성이 어디에서 언급되는지는 실제로 알 수 없습니다. (내가 ModuleA 클래스의 속성과 종속성을 설정, 모듈화 빌드 후 복사)이 내 구현 :
Bootstrapper.cs
protected override IModuleCatalog CreateModuleCatalog()
{
return new AggregateModuleCatalog();
}
protected override void ConfigureModuleCatalog()
{
base.ConfigureModuleCatalog();
Type moduleAType = typeof(ModuleAModule);
ModuleCatalog.AddModule(new ModuleInfo()
{
ModuleName = ModuleNames.ModuleA,
ModuleType = moduleAType.AssemblyQualifiedName
});
DirectoryModuleCatalog directoryCatalog = new DirectoryModuleCatalog() { ModulePath = @".\Modules" };
((AggregateModuleCatalog)ModuleCatalog).AddCatalog(directoryCatalog);
}
protected override void ConfigureContainer()
{
base.ConfigureContainer();
this.RegisterTypeIfMissing(typeof(IModuleTracker), typeof(ModuleTracker), true);
}
ModuleA.cs
[Module(ModuleName = ModuleNames.ModuleA)]
public class ModuleAModule : IModule
{
private ILoggerFacade _logger;
private IModuleTracker _moduleTracker;
public ModuleAModule(ILoggerFacade logger, IModuleTracker moduleTracker)
{
_logger = logger;
_moduleTracker = moduleTracker;
_moduleTracker.ModuleConstructed("ModuleA");
}
public void Initialize()
{
_logger.Log("ModuleA demonstrates logging during Initialize().", Category.Info, Priority.Medium);
_moduleTracker.ModuleInitialized("ModuleA");
}
}
ModuleD.cs
[Module(ModuleName = ModuleNames.ModuleD)]
public class ModuleDModule : IModule
{
private ILoggerFacade _logger;
private IModuleTracker _moduleTracker;
public ModuleDModule(ILoggerFacade logger, IModuleTracker moduleTracker)
{
_logger = logger;
_moduleTracker = moduleTracker;
_moduleTracker.ModuleConstructed("ModuleD");
}
public void Initialize()
{
_moduleTracker.ModuleInitialized("ModuleD");
}
}
** 없음 대답은 아직이 나를 도와 주시기 바랍니다. ** – Deepanshu