2011-01-14 71 views
3

我試圖在解決方案構建在TFS2010的自動構建中時自動打開NDepend項目。使用自動化團隊構建打開NDepend項目?

這源於this上一個問題。前面提到的帖子是我嘗試(並失敗)將NDepend的代碼度量軟件與自動化Team Build集成在一起,通過混淆我的解決方案的XML。

我決定,因爲我沒有在任何地方搞亂XML,所以我會嘗試不同的路線。在我開發的另一個程序中,我使用了

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

觸發記事本運行並打開文本文件「blah.txt」。

我想我可以使用相同的概念來幫助我完成這個NDepend集成。所以我研究了MSDN以查看我是否可以找到更多關於Process.Start方法的信息。並使用這個例子

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

我取代在我自己的路徑是什麼,我相信應該打開項目文件「myProj.ndproj」像這樣

System.Diagnostics.Process.Start("C:\\tools\\NDepend\\VisualNDepend","C:\\myProj\\myProj.ndproj"); 
的VisualNDepend應用程序內

我可能會採取這一例子並且從背景中調整它,我不確定,但在我看來,我所嘗試的應該工作。該解決方案內置沒有任何錯誤,但VisualNDepend沒有運行。

它終於打我,我試圖用這個代碼,當該程序當我真正需要它的時候程序建立內TFS和Visual Studio執行,將只執行。

我問我的同事是否知道TFS或VS中的任何內置方式,可以識別解決方案是否正在構建或沒有。他們並不真正瞭解任何事情。我嘗試了「Google搜索」這個主題,但找不到對我有用的任何信息。

有誰知道如何做到這一點?或者我試圖在解決方案後面執行一些C#代碼來追逐失敗的原因?在這種情況下,我最好的辦法就是像以前一直試圖調整XML一樣。

回答

0

我會建議編寫一個自定義構建任務(或任務)。你可以基本上讓任務做你想做的任何事情 - 運行一個進程,吐出結果等等,它可以直接從你的MSBuild腳本中調用。

我不確定我是否正在回答你的問題(或者我甚至已經掌握了你想要做的事),但這可能是我期待找到我的解決方案的區域。