Procura-se analisador .vdproj
Pergunta
Estou procurando algum código de exemplo c # ou uma ferramenta que possa analisar o arquivo .vdproj (Projeto de instalação e implantação do Visual 2010 Studio).
Solução
Sugira usar C# e LINQ para analisar este arquivo.Vamos com esta amostra vdproj.Infelizmente não é baseado em XML, mas parece semelhante ao JSON, mas não exatamente.
Sugira iterar pelas linhas.Determine onde você está com base no número de guias vistas e no número da linha do título da seção você deseja analisar.
string[] allLines = System.IO.File.ReadAllLines(@"C:\foo.vdproj");
// iterate, and determine where the Configuration heading is....
if (line == "\t\"Configurations\"")
Meu código de exemplo é muito grande para ser colado aqui, então veja o código em http://pastebin.com/DAiTCUtD
A complexidade vai até a quantidade de dados que você precisa extrair do arquivo.
Espero que isto ajude.Parece que você estava procurando uma ferramenta pré-construída, mas talvez este código o ajude a analisar arquivos .vdproj.
Outras dicas
Eu escrevi um aplicativo de console simples que converte um arquivo VDProj de / para uma estrutura XML.Isso tornou muito mais simples fazer coisas como definir o ícone Adicionar / Remover Programas em nosso processo de construção.
tem algo aqui .Espero que este seja
Upd: d'Oh!Tem um monte de ferramentas como vcprojectbindingpharser.cs e vbprojectbindingpharser.cs e nada para .vdproj.Eu não sei, provavelmente vou precisar construir meu próprio analisador.
ahhh (fortemente suspirando) só queria economizar algum tempo.
InstallShield pode converter VDProj ao ISM.Que torna um banco de dados MSI que poderia ser consultado ou escurecido para o Wix.
$_ = join('', <>);
s/[=](.+)/:$1,/g;
s/[{]/: {/sg;
s/}/},/g;
s/[,](?:\s+)?[}]/}/sg;
s/[,](?:\s+)?$//s;
print "{$_}";
^-- este trecho Perl converte [meu] vdproj em json.