Вопрос

Я ищу код примерного кода C # или инструмент, который мог проанализировать файл .vdproj (Visual 2010 Studio Projectup и проект настроек и развертывания).

Это было полезно?

Решение

Предложите с помощью C # и LINQ для анализа этого файла.Давайте пойдем с Это образец vdproj .К сожалению, это не основано XML, а скорее выглядит похожим на JSON , но не совсем.

Alt Text

предложить итерации через линии.Определите, где вы находитесь на том, что вы находитесь на указанном количестве вкладок, и номер строки раздела , заголовок , вы хотите выбрать.

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

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

Мой код выборки слишком большой, чтобы вставить здесь, поэтому, пожалуйста, смотрите код на http://pastebin.com/daitcutd

Сложность идет до тех, сколько данных вам нужно извлечь из файла.

Надеюсь, это поможет.Похоже, вы искали предварительный инструмент, но, возможно, этот код выпускает вас в Parsing .vdproj файлы.

Другие советы

Я написал простое консольное приложение, которое преобразует файл VDPROJ в / из структуры XML.Это заставило намного проще сделать такие вещи, как установите значок «Добавить / удалить программы» в нашем процессе сборки.

https://github.com/dump247/vdprojectxml

получил что-то Вот .Надеюсь, что это это

Upd: d'Oh!Он имеет кучу инструментов, таких как vcprojectbindingParser.cs и vbprojectbindingparser.cs и ничего для .vdproj.Я не знаю, наверное, мне нужно построить свой парсер.

Аххх (сильно вздыхая) просто хотел сэкономить некоторое время.

InstallShield может преобразовать VDPROJ в ISM.Это делает его базой данных MSI, которая затем должна быть запрошена или темной в WIX.

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

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

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

print "{$_}";
.

^ - этот фрагмент Perl преобразует [мой] vdproj до json.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top