public SourceCodeBundle(ScriptBundleLoader manager, IEnumerable <string> sourceCodes) { //this.manager = manager; var domain = System.AppDomain.CurrentDomain; this.assemblyReferences = domain .GetAssemblies() .Where(a => !(a is System.Reflection.Emit.AssemblyBuilder) && !string.IsNullOrEmpty(a.Location)) .Select(a => a.Location) .ToArray(); var options = new CompilerParameters(); options.GenerateExecutable = false; options.GenerateInMemory = true; options.ReferencedAssemblies.AddRange(assemblyReferences); var compiler = new CodeCompiler(); var result = compiler.CompileAssemblyFromSourceBatch(options, sourceCodes.ToArray()); foreach (var err in result.Errors) { manager.actLog(err.ToString()); } this._assembly = result.CompiledAssembly; }
void CompileFiles() { var options = new CompilerParameters(); options.GenerateExecutable = false; options.GenerateInMemory = false; options.ReferencedAssemblies.AddRange(assemblyReferences); options.CompilerOptions = "/target:library /optimize"; options.OutputAssembly = DLLName + ".dll"; //options. var compiler = new CodeCompiler(); var result = compiler.CompileAssemblyFromSourceBatch(options, sources.ToArray()); foreach (var err in result.Errors) { manager.logWriter.WriteLine(err); } this.assembly = result.CompiledAssembly; var name = this.assembly.GetName(); }