從命令提示符使用MSBuild和C#編譯器有什麼區別?我想在不使用Visual Studio的情況下手動構建我的解決方案/項目,我想了解如何使用命令行工具。MSBuild vs編譯器
回答
通過C#編譯器做你的意思csc.exe
?
如果這是你的意思,那麼csc
和MSBuild
是完全不同的應用程序。
MSBuild
使用解決方案和項目文件來構建項目中的文件。 MSBuild
使用csc.exe
作爲其實際的編譯器,但知道在哪裏可以找到程序集和參考文件等基於您的解決方案和項目文件(這些文件實際上是xml文件)。
當使用csc.exe
時,您必須手動爲您的文件,引用等提供路徑,從而使編譯更加困難。
MSDN的MSBuild:http://msdn.microsoft.com/en-us/library/dd393574.aspx
MSDN CSC:http://msdn.microsoft.com/en-us/library/78f4aasd.aspx
在C#
代碼先編譯到IL
代碼,然後JIT
編譯器編譯代碼,以CPU指令。所以所有的編譯器應該編譯代碼,以IL
。 那麼,什麼是的MSBuild:
微軟構建引擎(MSBuild的)是 微軟和Visual Studio新的構建平臺。 MSBuild的是 方面完全透明的,它是如何處理和構建軟件,使開發人員 ,以協調和建立地方 的Visual Studio未安裝
See產品在構建實驗室環境:
的Visual Studio( sln)
如果你的解決方案很小,並且你不需要做些花哨的事情,你可以使用Visual Studio(sln)build runner。它和你做Project-> Build(從VS菜單)完全一樣。此選項非常易於配置,只需點擊幾下,CI服務器即可編譯您的解決方案。
的MSBuild
如果您需要做更高級的方案,除了簡單的編譯,就像使用不同的配置文件,插入轉化值到配置文件,部署的二進制文件等,你會選擇的MSBuild選項。你會知道什麼時候需要使用它,只是因爲sln builder不能做任何事情。這個選項需要一些構建腳本語言的知識,這是一種基於任務和XML的。
MSBuild
實際上使用的是csc.exe
,所以你可以在命令行中同時使用。 MSBuild
更容易使用。
- 1. msbuild編譯器%PATH%
- 2. MSBuild VS Visual Studio - 編譯差異?
- 3. 口譯VS編譯器VS虛擬機
- 4. MSBuild條件編譯
- 5. MSBuild不一致的編譯器標記
- 6. VS 2015編譯器在struct
- 7. GCC VS MSVS編譯器
- 8. Javassist Vs. Java編譯器API
- 9. C89 vs c99 GCC編譯器
- 10. 禁用MSBuild TypeScript編譯
- 11. Msbuild不編譯項目?
- 12. 的MSBuild不編譯項目
- 13. MSBuild編譯錯誤怪異
- 14. CLR語言優化。語言編譯器VS JIT編譯器
- 15. 在線編譯器VS本地編譯器
- 16. $編譯vs $ componentController
- 17. PHP - 即時編譯器Vs解釋器
- 18. 是否可以強制VS 2013使用VS 2010編譯器進行編譯?
- 19. Pantheios Qt Creator中與VS C++ 2008編譯器編譯
- 20. 編譯失敗vs編譯失敗
- 21. VS 2008編碼和MSBuild執行任務
- 22. MSBuild vs nant
- 23. 關於VS 2008編譯器和SCONS
- 24. C#編譯器即服務:Mono.CSharp vs Microsoft.CSharp
- 25. VS編譯器可以男星
- 26. OpenMP vs gcc編譯器優化
- 27. PHP加速器VS即時編譯
- 28. 如何更改VS的編譯器?
- 29. 編譯器如何編譯編譯器?
- 30. 用MSBuild編譯一個csproj編譯引用的項目嗎?
當你構建不Visual Studio中的幫助下,我不會說使用CSC比的MSBuild更加困難。使用它迫使你更深層次地理解你指示編譯器做什麼。這可以更容易地解決依賴性問題。它還使得在源代碼目錄中遞歸地自動編譯所有.cs文件變得相當容易,無需在每次向項目添加其他文件時編輯MSBuild文件。這也會迫使你不要使用.cs文件,這實際上是不好的做法。 –
看起來像讀取MSBuild日誌文件可以開發相同的理解水平。 –