編譯過程將源程序轉化為中間代碼,它主要是檢查語法和語義錯誤。在VS中,源程序包括用C++、C#、VB、J#等高級語言編寫的代碼,而中間代碼是指MSIL匯編代碼,這些代碼能被CLR和WINDOWS操作系統進一步轉化為機器指令。當然,在使用C++時,VS也是允許跳過編譯為MSIL這一環節的,主要是為C++的靈活性和高效率考慮。值得注意的是,編譯產生的這些中間代碼是不能直接運行的,它們存儲在DEBUG目錄或者RELEASE目錄下的.obj文件中,只有到了需要運行時,才由系統將他們和一些必要的系統API鏈接成可執行的文件。
生成解決方案實際上是一個傻瓜式的集成過程,它將編譯和鏈接過程集成在一起,直接從源代碼生成可執行文件。當然,內部機制還是上段所述,只不過方便了開發者。如果你在LINUX系統上進行C/C++開發的話,就會發現要運行一個比較大的程序并不是一件簡單事,編譯和連接過程對開發者來講相對WINDOWS要“麻煩”許多。