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); }