Есть ли простой способ сравнить два файла и ошибки, если они не идентичны? - PullRequest
2 голосов
/ 10 ноября 2011

Как часть наших сборок Continuous Integration, я бы хотел, чтобы сборка не работала, если в решении Visual Studio используются две разные версии одной и той же библиотеки DLL.Мы используем Jenkins для CI и MSBuild.exe для создания нашего продукта.

Я знаю, что это можно сделать с помощью кода C #, но я пытаюсь избежать этого.Я бы предпочел использовать что-то встроенное в задачи сообщества MSBuild или MSBuild или встроенный исполняемый файл командной строки, такой как FC.exe.Я посмотрел на FC.exe, и он выводит текст, который говорит

FC: no differences encountered

, и я полагаю, что я могу направить вывод в файл, а затем проанализировать этот файл, но в лучшем случае это выглядит хакерским.

Есть ли элегантный способ сделать это?

Ответы [ 2 ]

5 голосов
/ 11 ноября 2011

Неважно ... Я только что запустил FC.exe в MSBuild и заметил, что он возвращает код ошибки 1, когда файлы не совпадают.Проблема решена!

0 голосов
/ 10 ноября 2011

Вы можете вызвать powershell через MSBuild (я думаю, что у задач сообщества есть задача выполнения командлета) и использовать командлет Compare-Object.
http://technet.microsoft.com/en-us/library/ee156812.aspx

У Дженкинса также есть модуль PowerShell, который вы можетеможно использовать.

...