MonoDevelop.Projects.Formats.MSBuild.ProjectBuilder.RunTarget C# (CSharp) Method

RunTarget() public method

public RunTarget ( string target, ProjectConfigurationInfo configurations, ILogWriter logWriter, MSBuildVerbosity verbosity ) : MonoDevelop.Projects.Formats.MSBuild.MSBuildResult[]
target string
configurations ProjectConfigurationInfo
logWriter ILogWriter
verbosity MSBuildVerbosity
return MonoDevelop.Projects.Formats.MSBuild.MSBuildResult[]
		public MSBuildResult[] RunTarget (string target, ProjectConfigurationInfo[] configurations, ILogWriter logWriter,
			MSBuildVerbosity verbosity)
		{
			MSBuildResult[] result = null;
			BuildEngine.RunSTA (delegate
			{
				try {
					var project = SetupProject (configurations);
					currentLogWriter = logWriter;

					var logger = new LocalLogger (file);
					engine.UnregisterAllLoggers ();
					engine.RegisterLogger (logger);
					engine.RegisterLogger (consoleLogger);

					consoleLogger.Verbosity = GetVerbosity (verbosity);
					
					project.Build (target);
					
					result = logger.BuildResult.ToArray ();
				} catch (Microsoft.Build.Exceptions.InvalidProjectFileException ex) {
						var r = new MSBuildResult (
							file, false, ex.ErrorSubcategory, ex.ErrorCode, ex.ProjectFile,
							ex.LineNumber, ex.ColumnNumber, ex.EndLineNumber, ex.EndColumnNumber,
							ex.BaseMessage, ex.HelpKeyword);
						logWriter.WriteLine (r.ToString ());
						result = new [] { r };
				} finally {
					currentLogWriter = null;
				}
			});
			return result;
		}