Example #1
0
        /// <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);
        }