public override void Run(string target) { if (String.IsNullOrWhiteSpace(target)) { target = "Build"; } string projectFile = this.ProjectFile; if (String.IsNullOrEmpty(projectFile)) { throw new InvalidOperationException( "The project file is not specified."); } if (!File.Exists(projectFile)) { throw new IOException( "The project file does not exists."); } ProjectCollection projectCollection = new ProjectCollection(); projectCollection.DefaultToolsVersion = "4.0"; ProjectTaskLogger buildLogger = new ProjectTaskLogger(); buildLogger.Verbosity = this.Verbosity; if (this.MessageRaised != null) { buildLogger.MessageRaised += new BuildMessageEventHandler(this.MessageRaised.Invoke); } if (this.TargetStarted != null) { buildLogger.TargetStarted += new TargetStartedEventHandler( this.TargetStarted.Invoke); } if (this.ProjectFinished != null) { buildLogger.ProjectFinished += new ProjectFinishedEventHandler(this.ProjectFinished.Invoke); } projectCollection.RegisterLogger(buildLogger); Project project = projectCollection.LoadProject(projectFile); try { project.Build(target); } finally { projectCollection.UnregisterAllLoggers(); } }
public override void Run(string target) { if (String.IsNullOrWhiteSpace(target)) { target = "Build"; } string projectFile = this.ProjectFile; if (String.IsNullOrEmpty(projectFile)) { throw new InvalidOperationException( "The project file is not specified."); } if (!File.Exists(projectFile)) { throw new IOException( "The project file does not exists."); } ProjectCollection projectCollection = new ProjectCollection(); projectCollection.DefaultToolsVersion = "4.0"; ProjectTaskLogger logger = new ProjectTaskLogger(); logger.Verbosity = this.Verbosity; // We will only listen for the events that are subscribed... if (this.ErrorRaised != null) { logger.ErrorRaised += new BuildErrorEventHandler(this.ErrorRaised); } if (this.MessageRaised != null) { logger.MessageRaised += new BuildMessageEventHandler(this.MessageRaised); } if (this.WarningRaised != null) { logger.WarningRaised += new BuildWarningEventHandler(this.WarningRaised); } if (this.TaskStarted != null) { logger.TaskStarted += new TaskStartedEventHandler(this.TaskStarted); } if (this.TaskFinished != null) { logger.TaskFinished += new TaskFinishedEventHandler(this.TaskFinished); } if (this.TargetStarted != null) { logger.TargetStarted += new TargetStartedEventHandler(this.TargetStarted); } if (this.TargetFinished != null) { logger.TargetFinished += new TargetFinishedEventHandler(this.TargetFinished); } if (this.ProjectStarted != null) { logger.ProjectStarted += new ProjectStartedEventHandler(this.ProjectStarted); } if (this.ProjectFinished != null) { logger.ProjectFinished += new ProjectFinishedEventHandler(this.ProjectFinished); } projectCollection.RegisterLogger(logger); Project project = projectCollection.LoadProject(projectFile); try { project.Build(target); } finally { projectCollection.UnregisterAllLoggers(); } }