2011-01-14 6 views
3

Я пытаюсь автоматически открыть проект NDepend, когда решение строится в автоматизированной сборке в TFS2010.Открыть проект NDepend с автоматической сборкой команд?

Это из this предыдущий вопрос. Вышеупомянутый пост - это то, где я попытался (и не смог) интегрировать программное обеспечение индексирования кода NDepend с автоматизированной сборкой Team через messing с XML моего решения.

Я решил, что с тех пор, как я не стал вмешиваться в XML, я попробую другой маршрут. В другой программе я разработал, я использовал

System.Diagnostics.Process.Start("blah.txt"); 

для запуска Блокнота для запуска и открыть текстовый файл «blah.txt.»

Я подумал, что могу использовать ту же концепцию, чтобы помочь мне с этой интеграцией NDepend. Поэтому я исследовал MSDN, чтобы узнать, могу ли я узнать больше о методе Process.Start. И этот пример

Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm"); 

я заменял в своих собственных путей к тому, что я считаю, должен открыть файл проекта «myProj.ndproj» внутри приложения VisualNDepend как этот

System.Diagnostics.Process.Start("C:\\tools\\NDepend\\VisualNDepend","C:\\myProj\\myProj.ndproj"); 

I может принимать этот пример и настраивая его из контекста, я не уверен, но мне показалось, что то, что я пробовал, должно работать. Решение построено без ошибок, но VisualNDepend не запускалось.

Это, наконец, ударил меня, что я пытался использовать этот код, который будет выполнять только тогда, когда программа побежал, когда мне действительно нужно, чтобы это выполнить, когда программа строит в рамках TFS и Visual Studio.

Я спросил своих коллег, знают ли они о каких-либо встроенных способах в TFS или VS, которые узнают, было ли построено решение или нет. И в действительности они ничего не знали. Я пробовал «Googling» эту тему и не мог найти никакой полезной для меня информации.

Кто-нибудь знает, как это сделать? Или я преследую потерянную причину, пытаясь выполнить некоторый код C# за решением? В этом случае лучше всего пытаться настроить XML, как я уже пытался?

ответ

0

Я бы рекомендовал написать пользовательскую задачу сборки (или задачи). Вы можете по существу заставить задачу делать все, что хотите - запустить процесс, выплевывать результаты и т. Д., И его можно вызвать непосредственно из сценария MSBuild.

Я не уверен, отвечаю ли вы на ваш вопрос (или если у меня есть понимание того, что вы пытаетесь сделать), но это, вероятно, область, в которой я буду искать свое решение.