Exemplo n.º 1
0
        private bool RecompileIfNeeded(CSProject project)
        {
            if (!IsAssemblyUpToDate(project))
            {
                FLogger.Log(LogType.Message, "Assembly of {0} is not up to date. Need to recompile ...", project.Name);

                var isLoaded = project.IsLoaded;
                if (!isLoaded)
                {
                    project.Load();
                }

                project.ProjectCompiledSuccessfully -= project_ProjectCompiled;
                project.Compile();
                project.ProjectCompiledSuccessfully += project_ProjectCompiled;

                if (!isLoaded)
                {
                    project.Unload();
                }

                if (project.CompilerResults.Errors.HasErrors)
                {
                    FLogger.Log(LogType.Error, GetCompileErrorsLog(project, project.CompilerResults));
                    return(false);
                }
            }
            return(true);
        }