.vdproj "разыскиваемый парсер
Вопрос
Я ищу код примерного кода C # или инструмент, который мог проанализировать файл .vdproj (Visual 2010 Studio Projectup и проект настроек и развертывания).
Решение
Предложите с помощью C # и LINQ для анализа этого файла.Давайте пойдем с Это образец vdproj .К сожалению, это не основано XML, а скорее выглядит похожим на JSON , но не совсем.
предложить итерации через линии.Определите, где вы находитесь на том, что вы находитесь на указанном количестве вкладок, и номер строки раздела , заголовок , вы хотите выбрать.
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.Это заставило намного проще сделать такие вещи, как установите значок «Добавить / удалить программы» в нашем процессе сборки.
получил что-то Вот .Надеюсь, что это это
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.