2012-10-26 44 views
3

我在製作Visual Studio包,其中我啓動devenv.exe並嘗試構建其他解決方案。我需要實時構建輸出,因此用戶可以看到構建進度(輸出) ,但我不知道該怎麼做,甚至可能。我怎樣才能構建/重建實時輸出

我試過這樣的方式:

  string rebuildLog = string.Empty; 
      string logFileName = System.IO.Path.GetTempFileName(); 

      System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(); 
      psi.FileName = @"devenv.exe"; 
      psi.Arguments = "\"" + config.DmsPath + "\"" + @" /rebuild" + " Release|x64 " +" /out " + logFileName; 

      System.Diagnostics.Process process = new System.Diagnostics.Process(); 
      process.StartInfo = psi; 
      process.StartInfo.RedirectStandardOutput = true; 
      process.StartInfo.UseShellExecute = false; 

      process.Start(); 

      while (!process.StandardOutput.EndOfStream) 
      { 
       string line = process.StandardOutput.ReadLine(); 
       MessageBox.Show(line); // just to see if it works. It should go to log form 
      } 


      rebuildLog = GetRebuildLog(logFileName); 

而且rebuildLog有輸出。

任何人都可以幫忙嗎?

+0

我不確定,但可能是你需要的 - http://ant.apache.org/antlibs/dotnet/這是自動構建系統,並做你所期待的 –

回答

10

我找到答案。 devenv.exe不寫簡單的控制檯輸出,所以我不得不改變

psi.FileName = @「devenv.exe」; to psi.FileName = @「devenv。com」;它的工作。