2010-12-19 2 views
2

Je suis à la recherche d'un analyseur de fichiers MSbuild. Actuellement j'ai écrit le mien qui n'est pas complet ... mais j'ai l'impression de réinventer la roue en construisant quelque chose qui existe sûrement déjà.tous les analyseurs de fichiers msbuild disponibles?

+0

l'analyseur dépend de l'objectif que vous voulez atteindre avec l'analyseur. J'ai créé deux différents: un pour la sauvegarde de tous les fichiers dans une solution et un qui pourrait devenir un wizzard pour créer des fichiers wix. que voulez-vous faire avec l'analyseur? – k3b

+0

Je voudrais analyser mes fichiers msbuild et visualiser les cibles dans une application "msbuild runner". –

Répondre

1

Quelques infos que j'ai trouvé ici ... http://social.msdn.microsoft.com/Forums/en/msbuild/thread/b3db4d7c-b7d1-4958-9145-bfd34cc75320

En outre, il y a un petit projets avec quelques échantillons de haut niveau: http://code.msdn.microsoft.com/msbuildho

using Microsoft.Build.Construction; 
using Microsoft.Build.Evaluation; 
using System.Linq; 

class Program 
{ 
    static void Main(string[] args) 
    { 
     Project testProj = new Project(); 
     testProj.Xml.AddTarget("BuildProjects"); 
     foreach (ProjectTargetElement pti in testProj.Xml.Targets.Where(pti => pti.Name == "BuildProjects")) 
     { 
      pti.AddTask("MSBuild"); 
     } 
     testProj.Save(@"C:\testProj.proj"); 
    } 
} 
5

Microsoft.Build.Construction.XXX dans microsoft.build. dll (version 4.0+) est un analyseur "brut" des fichiers MSBuild. Il est puissant et complet et analogue au DOM XML. Cela fonctionne sur un seul fichier, ne faisant aucune évaluation. C'est utile par exemple lorsque vous voulez exécuter un script sur un arbre de projets pour les éditer d'une manière ou d'une autre, peut-être pour ajouter une instruction d'importation commune. Microsoft.Build.Evaluation.XXX travaille sur des projets évalués - c.-à-d., Avec toutes les propriétés évaluées, les fichiers importés tirés vers l'intérieur et ainsi de suite. C'est utile dans un environnement de développement - vous pouvez lire les fichiers et les propriétés dans le projet, ajouter de nouveaux fichiers et ainsi de suite. Visual Studio l'utilise à cette fin. Avant la version 4.0, il existait un modèle d'objet complètement différent, beaucoup plus limité et moins complet dans microsoft.build.engine.dll. Il est toujours livré avec 4.0 mais ne peut pas gérer la syntaxe 4.0. C'est obsolète.

J'ai conçu et mis en œuvre ceux-ci, donc je serais intéressé par vos commentaires si vous en avez.

+0

J'ai trouvé ces 2 URL, mais elles ne contiennent aucun code d'échantillon et je pense que [1] n'est pas ce que vous voulez dire. Pouvez-vous me montrer des échantillons? Je vous remercie! 1.[] ; X.Download Log Parser 2.2 du Centre de téléchargement officiel de Microsoft ;; http://www.microsoft.com/en-us/download/details.aspx?id=24659; 2. []; X.Microsoft.Build.Construction, espace de noms() ;; https://msdn.microsoft.com/en-us/library/microsoft.build.construction(v=vs.121).aspx – AnneTheAgile

Questions connexes