2011-01-14 65 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脚本中调用。

我不确定我是否正在回答你的问题(或者我甚至已经掌握了你想要做的事),但这可能是我期待找到我的解决方案的区域。