Domanda

Sto cercando un codice di esempio C # o uno strumento che potrebbe analizzare .vdproj File (Visual 2010 Studio Setup e Deployment Project).

È stato utile?

Soluzione

Suggerisci l'utilizzo di C # e LINQ per analizzare questo file.Andiamo con Questo campione VDProj .Purtroppo non è basato XML, ma piuttosto sembra simile a JSON , ma non esattamente.

alt testo

Suggerisci di iterare attraverso le linee.Determina dove si è basato sul numero di schede visualizzate e il numero di riga della rubrica della sezione che si desidera analizzare.

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

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

Il mio codice di esempio è troppo grande per incollare qui, quindi per favore vedi il codice su http://pastebin.com/DaitCardd

La complessità va da quanti dati è necessario estrarre dal file.

Spero che questo aiuti.Sembra che tu stia cercando uno strumento prewolt, ma forse questo codice ti avviene nel paradiso. VEDPROJ Files.

Altri suggerimenti

Ho scritto una semplice applicazione console che converte un file VDProj da / da una struttura XML.Questo ha reso molto più semplice per fare cose come impostare l'icona Aggiungi / Rimuovi programmi nel nostro processo di costruzione.

https://github.com/dump247/vdprojectxml

Got qualcosa qui .Spero che questo sia

UPD: D'Oh!Ha un sacco di strumenti come vcprojectbindingParser.cs e VBProjectBindingParser.cs e nulla per .vdproj.Non lo so, probabilmente dovrò costruire il mio parser.

Ahhh (pesantemente sospiro) voleva solo risparmiare un po 'di tempo.

InstallShield può convertire VDProj in ISM.Questo lo rende un database MSI che potrebbe quindi essere interrogato o oscurato in Wix.

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

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

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

print "{$_}";
.

^ - Questo snippet perl converte [my] vdproj in JSON.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top