当解决方案在 TFS2010 中自动构建时,我试图自动打开一个 NDepend 项目。
这源于上一个问题。上述帖子是我尝试(但失败)通过弄乱我的解决方案的 XML 将 NDepend 的代码度量软件与自动化 Team Build 集成的地方。
我决定,因为我没有在任何地方弄乱 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 吗?