2010-10-21 6 views
5

Ich verwende MsBuild 4.0 in Code, etwa so:Logging Erstellen von Nachrichten mit MSBuild 4.0

var globalProperties = new Dictionary<string, string>(); 
var buildRequest = new BuildRequestData(solutionPathAbsolute, globalProperties, null, new string[] { "Build" }, null); 
var pc = new ProjectCollection(); 

var result = BuildManager.DefaultBuildManager.Build(new BuildParameters(pc), buildRequest); 

Beachten Sie, wie diese API von MsBuild völlig anders 3.5 ... Wie funktioniert ein Haken in einem Logger detailliert zu empfangen Nachrichten mit der neuen API erstellen?

Antwort

7

Mit der BeginBuild-Methode des BuildManagers können Sie eine Gruppe von BuildParameters übergeben, die eine Loggers-Eigenschaft enthält.

+0

Vielen Dank, das ist, was ich gesucht habe! – James

+0

Stellt MSBuild eine API zum Starten eines Builds zur Verfügung, die intern gethreadt wird, oder muss die Verwaltung eines Threads für die Erstellung des Builds getrennt von der gesamten Anwendung von der Anwendung ausgeführt werden? – James

+0

@James Ich schlage vor, Sie erstellen eine neue Frage hier auf der Website, um Ihre Antwort zu erhalten, wenn es nicht bereits gefragt wurde. – heavyd