public static RulesExtractor Create(AssemblyResolver assemblyResolver) { if (assemblyResolver == null) throw new ArgumentNullException("assemblyResolver"); return new RulesExtractor(assemblyResolver); }
internal WorkflowExtractor(AssemblyResolver assemblyResolver) { if (assemblyResolver == null) throw new ArgumentNullException("assemblyResolver"); _assemblyResolver = assemblyResolver; _typeActivity = typeof(Activity); }
private RulesExtractor(AssemblyResolver assemblyResolver) { _assemblyResolver = assemblyResolver; _rulesStream = new List<Stream>(); List<string> ruleResources = _assemblyResolver.GetResources(); for (int i = 0; i < ruleResources.Count; i++) { string rulesData = _assemblyResolver.GetResourceData(ruleResources[i]).Replace("???<Rule", "<Rule"); _rulesStream.Add(new MemoryStream(Encoding.Default.GetBytes(rulesData))); } }
private void UpdateUI(string inputFile) { treeLoaded.Nodes.Clear(); var item = new BindItem(FileUtils.GetFileNameOnly(inputFile), inputFile); treeLoaded.Nodes.Add(new TreeNode { Text = item.Name, Tag = item }); if (_processAssembly == null) return; if (_processAssembly.Value == false) // process rules { inputFile = FileUtils.Copy(inputFile); lstResources.Items.Add(inputFile); } else // process assembly { try { string assemblyPath = FileUtils.Copy(inputFile); // load assembly in memory _assemblyResolver = new AssemblyResolver(assemblyPath); _assemblyResolver.OnAssemblyLoaded += AssemblyResolverOnAssemblyLoaded; _assemblyResolver.Load(); } catch (ArgumentNullException argumentException) { MessageBox.Show(@"Some technical error occured : " + argumentException.Message); } catch (InvalidOperationException loadException) { MessageBox.Show(loadException.Message); } catch (Exception ex) { MessageBox.Show(@"Unknown error occured : " + ex.Message); } } }