2012-02-21 27 views
1

任何方式來取代Visual Studio的使用msbuild,仍然在IDE中得到錯誤報告?我想我可能希望在VS中使用NAnt或Rake或PowerShell進行編譯,或者也可以使用腳本語言而不是XML。我的構建相當直接 - 找到所有的.cs並編譯它們,並將dll放在Debug /或Release /等。任何方式來取代Visual Studio的使用msbuild,仍然在IDE中得到錯誤報告?

我想添加一些其他步驟,命令行:

  • 就像命中某個緩存的服務器一樣。
  • 編譯用封
  • 壓縮CSS
  • 生成編譯後的一些指標(在一定的配置)
  • 運行NUnit的(或自定義),測試框架和發送電子郵件
  • 等....

但是,我仍然想要在IDE內部獲得「錯誤在線」反饋。這有可能嗎?

回答

2

您可以爲Visual Studio(宏,AddIn,Package等)編寫一些擴展,這些擴展可以擴充Visual Studio以讓其他生成工具運行。最簡單的形式可能只是使用「工具\外部工具..」,並在那裏添加你的構建工具。只要您將「構建消息」格式設置爲described here,就應該顯示輸出窗口,就好像它們是由MSBuild生成的一樣。

但是,我認爲在Visual Studio中完全替換MSBuild是不可能的(也不可取,BTW)。

Visual Studio不只是執行MSBuild.exe並解析它的輸出。整合是very tight和許多GUI方面直接依賴於MSBuild文件的內容。 例如,當您在Visual Studio UI中更改某些項目屬性時,所做的更改(最終)會寫入項目的MSBuild文件。

此外,還有一些性能改進,例如Visual Studio「替換」,也就是說,使用進程內編譯器從MSBuild文件中調用csc.exe(C#編譯器),該編譯器可以保留一些編譯時間,因爲更少的外部進程需要啓動(也在above mentioned document中描述)

雖然從體系結構的角度來看,所有這些退出可能被Visual Studio中的一些「接口」封裝和封裝,但我還沒有但卻找到了讓這些「接口」實現其他功能的方法,例如,使用NAnt。

無論如何,我認爲即使技術上可行,這在技術上也不可行。

+0

這是一個很好的例子,用屏幕截圖http://www.hanselman.com/blog/HackParallelMSBuildsFromWithinTheVisualStudioIDE.aspx – Maslow 2012-08-14 20:37:33

1

對於耙機,請檢查Rake Runner擴展。您可以從解決方案資源管理器運行rake任務,並檢查Output窗格中的錯誤和其他輸出。我幾乎沒有開發VS軟件包的經驗,所以如果有人想幫忙的話,這個項目是開源的here

相關問題