Question

Je recherche un code d'exemple C # ou un outil pouvant analyser le fichier .VDProj (projet de configuration de Studio Visual 2010 et de déploiement).

Était-ce utile?

La solution

suggère d'utiliser c # et linq pour analyser ce fichier.Allons-y avec Cet exemple de VDPROJ .Malheureusement, ce n'est pas xml basé sur XML, mais cela a l'air similaire à JSON , mais pas exactement.

text alt

suggère de itérer à travers les lignes.Déterminez où vous êtes basé sur le nombre d'onglets observés et que le numéro de ligne de la section section vous voulez analyser.

  string[] allLines = System.IO.File.ReadAllLines(@"C:\foo.vdproj");

  // iterate, and determine where the Configuration heading is....
  if (line == "\t\"Configurations\"")

Mon code d'échantillon est trop grand pour coller ici, alors s'il vous plaît voir le code à http://pastebin.com/daitCutd

La complexité va jusqu'à la quantité de données dont vous avez besoin pour extraire du fichier.

J'espère que cela vous aidera.On dirait que vous recherchiez un outil précieux, mais peut-être que ce code vous permet de commencer à analyser les fichiers .vdproj.

Autres conseils

J'ai écrit une application de console simple qui convertit un fichier VDProj vers / depuis une structure XML.Cela a rendu beaucoup plus simple de faire des choses comme définir l'icône Ajouter / Supprimer des programmes dans notre processus de construction.

https://github.com/dump247/vdprojectXML

obtenu quelque chose Ici .J'espère que c'est ce qu'il s'agit

UPD: D'Oh!Il a des outils tels que vcprojectbindingparser.cs et vbprojectbindingparser.cs et rien pour .vdproj.Je ne sais pas, je vais probablement avoir besoin de construire mon propre analyseur.

Ahhh (lourd soupiring) voulait simplement économiser du temps.

InstallShield peut convertir VDProj en ISM.Cela en fait une base de données MSI qui pourrait alors être interrogée ou obscée dans Wix.

$_ = join('', <>);

s/[=](.+)/:$1,/g;
s/[{]/: {/sg;
s/}/},/g;

s/[,](?:\s+)?[}]/}/sg;
s/[,](?:\s+)?$//s;

print "{$_}";

^ - Ce snippet perl convertit [mon] VDProj en Json.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top