2011-01-14 4 views
3

Ich versuche, ein NDepend-Projekt automatisch zu öffnen, wenn die Lösung einen automatisierten Build in TFS2010 erstellt.Öffnen Sie ein NDepend-Projekt mit einem automatisierten Team Build?

Dies stammt aus this vorherige Frage. In dem oben genannten Beitrag habe ich versucht (und scheiterte), NDepends Code-Metrik-Software mit einem automatisierten Team Build zu integrieren, indem ich mit dem XML meiner Lösung herumhantierte.

Ich entschied mich, da ich nirgendwohin mit dem XML zu tun hatte, dass ich einen anderen Weg versuchen würde. In einem anderen Programm habe ich entwickelt, ich

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

Notepad auszulösen die Textdatei ausführen und öffnen „blah.txt.“

Ich dachte, ich könnte das gleiche Konzept verwenden, um mir möglicherweise mit dieser NDepend-Integration zu helfen. Also habe ich MSDN recherchiert, um zu sehen, ob ich mehr über die Process.Start-Methode herausfinden kann. Und mit diesem Beispiel

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

ich in meinem eigenen Weg zu substituierten, was ich glaube, sollte die Projektdatei „myProj.ndproj“ innerhalb der VisualNDepend Anwendung öffnen wie diese

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

Ich kann dieses Beispiel nehmen und es aus dem Zusammenhang zu bringen, bin ich mir nicht sicher, aber es schien mir, dass das, was ich versuchte, funktionieren sollte. Die Lösung wurde ordnungsgemäß ohne Fehler erstellt, VisualNDepend wurde jedoch nicht ausgeführt.

Es traf mich schließlich, dass ich diesen Code zu verwenden versuchte, die nur ausführen würde, wenn das Programm lief, wenn ich brauche es wirklich auszuführen, wenn das Programm innerhalb TFS und Visual Studio aufbaut.

Ich fragte meine Mitarbeiter, ob sie innerhalb von TFS oder VS integrierte Möglichkeiten kennen würden, die erkennen würden, ob die Lösung gebaut wurde oder nicht. Und sie wussten nicht wirklich etwas Bestimmtes. Ich habe versucht, dieses Thema zu "googeln" und konnte keine Informationen finden, die mir nützlich waren.

Weiß jemand, wie man das erreicht? Oder jage ich eine verlorene Sache, indem ich versuche, einen C# -Code hinter der Lösung auszuführen? In diesem Fall versuche ich am besten, den XML-Code zu optimieren, wie ich es zuvor versucht hatte.

Antwort

0

Ich würde empfehlen, eine benutzerdefinierte Build-Aufgabe (oder Aufgaben) zu schreiben. Sie können die Aufgabe im Wesentlichen dazu veranlassen, alles zu tun, was Sie möchten - einen Prozess ausführen, Ergebnisse ausspeien usw. und direkt aus Ihrem MSBuild-Skript heraus aufgerufen werden.

Ich bin mir nicht sicher, ob ich deine Frage beantworte (oder ob ich überhaupt verstanden habe, was du versuchst), aber das ist wahrscheinlich der Bereich, in dem ich nach meiner Lösung suchen würde.

Verwandte Themen