当解决方案在TFS2010中自动构建时,我试图自动打开NDepend Project。

这源于this先前的问题。前面提到的帖子是我尝试(但失败)通过弄乱解决方案的XML来将NDepend的代码度量软件与自动化团队构建集成在一起的地方。

由于没有弄乱XML,我决定尝试其他方法。在我开发的另一个程序中,我使用了

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


触发记事本运行并打开文本文件“ blah.txt”。

我认为我可以使用相同的概念来帮助我进行NDepend集成。因此,我研究了MSDN以查看是否可以找到有关Process.Start方法的更多信息。并使用这个例子

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


我用自己的路径替换了我认为应该像这样在VisualNDepend应用程序中打开项目文件“ myProj.ndproj”的路径

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


我不确定,我可能会以那个例子为基础,并根据上下文进行调整,但是在我看来,我尝试的方法应该可行。该解决方案构建良好,没有任何错误,但是VisualNDepend没有运行。

最终让我感到震惊的是,我试图使用仅当程序真正在TFS和Visual Studio中构建时才需要执行时才执行的代码。

我问我的同事,他们是否知道TFS或VS中有任何内置方法可以识别是否正在构建解决方案。他们真的并不特别了解任何东西。我尝试“搜索”该主题,但找不到对我有用的任何信息。

有谁知道如何做到这一点?还是我试图通过在解决方案后面执行一些C#代码来追逐失败的根源?在那种情况下,我最好的选择就是像以前一样尝试调整XML吗?

最佳答案

我建议编写一个(或多个)自定义构建任务。从本质上讲,您可以使任务做任何您想做的事情-运行一个进程,吐出结果等,并且可以直接从您的MSBuild脚本中调用它。

我不确定我是否在回答您的问题(或者我是否对您要尝试做的事情有所了解),但这可能就是我要寻找解决方案的领域。

关于c# - 使用自动化团队构建来打开NDepend项目?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4694739/

10-17 00:17