public ExportCatalog(DefaultMetadataProvider defaultMetadataProvider) { MetadataProviders.Add(defaultMetadataProvider); DefaultMetadataProvider = defaultMetadataProvider; Types.TryAdd(defaultMetadataProvider.GetType(), new List <ITypeInfo>()); }
public TaskResult GetTasks(Options options) { var sourceProvider = SourceFileProviderFactory.CreateSourceProvider(LanguageType.CSharp); var metadataProvider = new DefaultMetadataProvider(); var compilationProvider = new CSharpCompilationProvider(options); var compilations = compilationProvider.GetCompilations(sourceProvider, metadataProvider); var assemblyProvider = new DefaultDynamicAssemblyProvider(); var assemblyResult = assemblyProvider.GetTaskAssembly(compilations); var taskResult = new TaskResult(); if (assemblyResult != null) { var tasks = assemblyResult.Assemblies.SelectMany(a => a.GetTypes()).Where(t => typeof(ISimpleTask).IsAssignableFrom(t)); foreach (var task in tasks) { var instance = (ISimpleTask)Activator.CreateInstance(task, null); taskResult.Tasks.Add(instance); } } taskResult.Errors = assemblyResult.CompileErrors; return(taskResult); }
protected override void SetUp() { base.SetUp(); metadataProvider = new DefaultMetadataProvider(); }