2009-08-21 7 views
0

Je travaille sur l'élimination de certains problèmes avec MSBuild sur un grand projet. Dans le cadre d'une cible de construction personnalisée dans notre configuration MSBuild, nous insérons les fichiers .PDB dans Symbol Storeafter la construction est réussie. Cela fonctionne bien. Cependant, lorsque nous supprimons les anciennes versions, nous devons également supprimer les fichiers .PDB de Symbol Store, ce qui nécessite un ID de transaction généré lorsque les symboles sont insérés. Ceci est sorti dans le fichier de débogage de construction donc pas un problème à trouver. Le problème est que nous voulons automatiser la suppression des anciennes générations, et nous devons également supprimer les fichiers .PDB en même temps. Actuellement, cela ne peut être que manuellement, et avant de supprimer la construction à la main, sinon nous perdons l'identifiant de la transaction. Existe-t-il un moyen de se connecter au processus de suppression automatique dans MSBuild et de mettre des cibles personnalisées?MSBuild delete process

Répondre

1

Je travaille sur le repassage quelques problèmes avec MSBuild sur un grand projet . Dans le cadre d'une cible de construction personnalisée dans notre configuration MSBuild nous insérons les fichiers .PDB dans Symbol Storeafter la construction est réussie.

Félicitations pour l'utilisation d'un serveur de symboles. Je ne regretterai jamais de l'avoir utilisé.

Pour votre cas particulier, je considérerais writing a custom MSBuild task et accrocher cette tâche dans le script MSBuild.

Rédaction d'une tâche est très simple et vous pouvez simplement l'appeler à partir du fichier de projet très facilement:

<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>