void Inner()
{
using (var container = new CompositionContainer(assemblyCatalog))
{
container.ComposeExportedValue(this);
container.ComposeExportedValue(BuildEngine);
container.ComposeExportedValue(logger);
if (BuildEnginePropertyExtractor != null)
{
container.ComposeExportedValue(BuildEnginePropertyExtractor);
}
//TODO: container.GetExportedValue<BuildEngineExtensions>().Execute();
container.GetExportedValue<TargetPathFinder>().Execute();
logger.LogMessage(string.Format(@" TargetPath: {0}
TryToWeaveAllTypes: {1}
CheckForEquality: {2}
EventInvokerName: {3}
CheckForIsChanged: {4}
ProcessFields: {5}", TargetPath, TryToWeaveAllTypes, CheckForEquality, EventInvokerName, CheckForIsChanged, ProcessFields));
container.GetExportedValue<EventInvokerNameResolver>().Execute();
container.GetExportedValue<AssemblyResolver>().Execute();
container.GetExportedValue<ModuleReader>().Execute();
var fileChangedChecker = container.GetExportedValue<FileChangedChecker>();
if (!fileChangedChecker.ShouldStart())
{
return;
}
container.GetExportedValue<MsCoreReferenceFinder>().Execute();
container.GetExportedValue<InterceptorFinder>().Execute();
container.GetExportedValue<TypeNodeBuilder>().Execute();
container.GetExportedValue<DoNotNotifyTypeCleaner>().Execute();
container.GetExportedValue<CodeGenTypeCleaner>().Execute();
container.GetExportedValue<MethodFinder>().Execute();
if (CheckForIsChanged)
{
container.GetExportedValue<IsChangedMethodFinder>().Execute();
}
container.GetExportedValue<AllPropertiesFinder>().Execute();
if (ProcessFields)
{
container.GetExportedValue<FieldToPropertyConverter>().Execute();
container.GetExportedValue<FieldToPropertyForwarder>().Execute();
}
container.GetExportedValue<MappingFinder>().Execute();
container.GetExportedValue<IlGeneratedByDependencyProcessor>().Execute();
container.GetExportedValue<DependsOnDataAttributeReader>().Execute();
if (!TryToWeaveAllTypes)
{
container.GetExportedValue<ShouldNotifyForAllWalker>().Execute();
}
container.GetExportedValue<PropertyDataWalker>().Execute();
container.GetExportedValue<ErrorChecker>().Execute();
container.GetExportedValue<WarningChecker>().Execute();
container.GetExportedValue<OnChangedWalker>().Execute();
container.GetExportedValue<StackOverflowChecker>().Execute();
container.GetExportedValue<TypeProcessor>().Execute();
container.GetExportedValue<AttributeCleaner>().Execute();
container.GetExportedValue<ReferenceCleaner>().Execute();
container.GetExportedValue<ProjectKeyReader>().Execute();
container.GetExportedValue<ModuleWriter>().Execute();
}
}