2009-08-21 5 views
0

Ich arbeite daran, einige Probleme mit MSBuild auf ein großes Projekt auszubügeln. Als Teil eines benutzerdefinierten Buildziels in unserem MSBuild-Setup fügen wir die .PDB-Dateien nach erfolgreicher Erstellung in den Symbolspeicher ein. Das funktioniert gut. Wenn wir jedoch die alten Builds löschen, müssen wir auch die .PDB-Dateien aus dem Symbolspeicher löschen, was eine Transaktions-ID erfordert, die generiert wird, wenn die Symbole eingefügt werden. Dies wird in der Build-Debug-Datei ausgegeben, so dass kein Problem zu finden ist. Das Problem ist, dass wir das Löschen von alten Builds automatisieren möchten, und wir müssen auch die .PDB-Dateien gleichzeitig löschen. Momentan kann dies nur manuell und vor dem Löschen des Builds manuell erfolgen, sonst verlieren wir die Transaktions-ID. Gibt es eine Möglichkeit, sich in den automatisierten Löschprozess in MSBuild einzuklinken und einige benutzerdefinierte Ziele einzufügen?MSBuild löschen Prozess

Antwort

1

Ich arbeite an Ausbügelung einige Probleme mit MSBuild auf einem großen Projekt. Als Teil einer benutzerdefinierten Build Ziel in unserem MSBuild-Setup fügen wir die .PDB-Dateien in Symbol Storenach der Build ist erfolgreich.

Ein großes Plus für die Verwendung eines Symbolservers. Ich werde es nie bereuen.

Für Ihren speziellen Fall würde ich writing a custom MSBuild task betrachten und diese Aufgabe in das MSBuild-Skript einhängen.

eine Aufgabe zu schreiben, ist sehr einfach und man kann es nur sehr leicht aus der Projektdatei aufrufen:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <UsingTask TaskName="SimpleTask3.SimpleTask3" 
     AssemblyFile="SimpleTask3\bin\debug\simpletask3.dll"/> 

    <Target Name="MyTarget"> 
     <SimpleTask3 MyProperty="Hello!"/> 
    </Target> 
</Project>