아래는 JScript 예. EnvDTE 개체 말고 devenv.exe 를 이용해서도 빌드할 수 있다. 빌드랑 빌드 성공 여부는 알 수 있는데 오류목록을 얻어오거나 출력창을 캡처하려면 좀더 작업해야 하지만 일단 뒤로 미루자.
function test () { // Codes here. try { var dte2 = new ActiveXObject("VisualStudio.Solution.8.0"); var dte = dte2.DTE; var vsSolution = dte2.DTE.Solution; vsSolution.Open ("C:\\Documents and Settings\\yim.jihoon\\My Documents\\Visual Studio 2005\\Projects\\HtmlTest\\HtmlTest.sln"); vsSolution.SolutionBuild.Build(true); var nErrorCount = vsSolution.SolutionBuild.LastBuildInfo; var output = dte.Windows.item("{34E76E81-EE4A-11D0-AE2E-00A0C90FFFC3}"); Log.Print(output.Caption); //var activePain = output.OutputWindowPanes.item(0); //var textDocument = activePain.TextDocument; //var sel = output.Selection; //sel.StartOfDocument() //sel.EndOfDocument(True) //Log.Print(sel.Text); var win; var en; en = new Enumerator(dte.Windows); for ( ; !en.atEnd() ; en.moveNext() ) { win = en.item(); Log.Print(win.Caption); Log.Print(win.ObjectKind); } vsSolution.Close(false); vsSolution.DTE.Quit(); } catch(e) { Log.Print(e.description); } // if you want to continue running next script, return true. // Otherwise return false to quit running. return true; } |