/// <summary> /// Execute the compilation process using the precompilation steps and code provider /// </summary> /// <returns>CompilerResults with the compilation results</returns> /// <exception cref="Exception">Should compilation errors occur</exception> protected CompilerResults InternalExecute() { List <SourceFile> files = GetSourceFiles(); if (files.Count == 0) { return(null); } preProcessor.ApplyPreCompilationStepsOn(files); AfterPreCompilation(files); foreach (ReferencedAssembly reference in options.References) { string assemblyName = reference.Name; if (reference.Source == ReferencedAssembly.AssemblySource.BinDirectory) { assemblyName = Path.Combine(context.BinFolder.FullName, assemblyName); } parameters.ReferencedAssemblies.Add(assemblyName); } CompilerResults results = GetResultsFrom(files); ThrowIfErrorsIn(results); return(results); }