public RegexCompilerMethod(ParseDetails details) { regex = new Regex(details.RegularExpression); string classString = string.Format(EmbeddedResource.ReadToEnd("ProxySearch.Engine.Resources.ProxyParserRuntime._cs"), details.Code); CompilerParameters parameters = new CompilerParameters { GenerateInMemory = true }; parameters.ReferencedAssemblies.Add("System.dll"); parameters.ReferencedAssemblies.Add("System.Core.dll"); parameters.ReferencedAssemblies.Add("System.Web.dll"); parameters.ReferencedAssemblies.Add("ProxySearch.Engine.dll"); CompilerResults compilerResult = new CSharpCodeProvider().CompileAssemblyFromSource(parameters, classString); if (compilerResult.Errors.Count > 0) throw new InvalidOperationException(string.Join(Environment.NewLine, compilerResult.Errors .Cast<CompilerError>() .Select(error => error.ErrorText))); instance = compilerResult.CompiledAssembly.CreateInstance("ProxySearch.Engine.Resources.ProxyParserRuntime"); }
public RegexCompilerMethod(ParseDetails details) { regex = new Regex(details.RegularExpression); string classString = string.Format(EmbeddedResource.ReadToEnd("ProxySearch.Engine.Resources.ProxyParserRuntime._cs"), details.Code); CompilerParameters parameters = new CompilerParameters { GenerateInMemory = true }; parameters.ReferencedAssemblies.Add("System.dll"); parameters.ReferencedAssemblies.Add("System.Core.dll"); parameters.ReferencedAssemblies.Add("System.Web.dll"); parameters.ReferencedAssemblies.Add("ProxySearch.Engine.dll"); CompilerResults compilerResult = new CSharpCodeProvider().CompileAssemblyFromSource(parameters, classString); if (compilerResult.Errors.Count > 0) { throw new InvalidOperationException(string.Join(Environment.NewLine, compilerResult.Errors .Cast <CompilerError>() .Select(error => error.ErrorText))); } instance = compilerResult.CompiledAssembly.CreateInstance("ProxySearch.Engine.Resources.ProxyParserRuntime"); }