Pregunta

Estoy buscando un código de muestra C # o una herramienta que pueda analizar el archivo .vdproj (Configuración y proyecto de despliegue de Visual 2010 Studio).

¿Fue útil?

Solución

Sugiere usar C # y LINQ para analizar este archivo.Vamos a ir con esta muestra de vdproj .Lamentablemente, no se basa en XML, sino que se ve similar a JSON , pero no exactamente.

alt texto

sugiere iterar a través de las líneas.Determine dónde se encuentra basado en el número de pestañas visto, y el número de línea de la sección se dirige que desea analizar.

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

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

Mi código de muestra es demasiado grande para pegar aquí, así que consulte el código en http://pastebin.com/daitcutd

La complejidad va en cuanto a cuántos datos necesita extraer del archivo.

Espero que esto ayude.Suena como si estuvieras buscando una herramienta prebuilt, pero tal vez este código se inicie en el análisis de archivos .vdproj.

Otros consejos

Escribí una simple aplicación de consola que convierte un archivo VDPROJ a / desde una estructura XML.Esto lo hizo mucho más simple para hacer cosas como establecer el icono Agregar o quitar programas en nuestro proceso de compilación.

https://github.com/dump247/vdprojectxml

consiguió algo Aquí .Espero que esto sea

UPD: D'Oh!Tiene un montón de herramientas como vcprojectbindingparser.cs y vbprojectbindingparser.cs y nada para .vdproj.No lo sé, probablemente voy a necesitar construir mi propio analizador.

AHHH (suspiro en gran medida) Solo quería ahorrar algo de tiempo.

InstallShield puede convertir VDPROJ a ISM.Eso lo convierte en una base de datos MSI que luego podría ser consultada u oscurecida en WIX.

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

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

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

print "{$_}";

^ - Este fragmento de PERL convierte [MI] VDPROJ a JSON.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top