VB.NET (VS2015 中的 VB) 與 VB6.0 幾乎是兩門完全不同的語言。 雖然語法長相相似,但運行機制、類庫體系、編程範式均發生根本性變化。
| 維度 | VB6.0 | VB.NET (VS2015) |
|---|---|---|
| 運行平台 | 原生編譯為機器碼,依賴 VB6 運行庫 | 編譯為 IL,運行於 .NET CLR (Common Language Runtime) |
| 編程範式 | 面向過程 + 簡單對象 | 完全面向對象,支持繼承、多態、接口 |
| 類庫 | 內置關鍵字/函數為主 | 使用 .NET Framework 基礎類庫 (BCL) |
| 內存管理 | 引用計數,手動管理 | 垃圾回收 (GC) 自動管理 |
| 錯誤處理 | On Error Goto | Try-Catch-Finally 結構化異常處理 |
| 跨平台 | 僅 Windows | 理論上可跨平台 (.NET Core / Mono) |
.NET 戰略要求統一運行時、統一類庫、語言互操作。VB6 的架構無法承載這些目標,故徹底重設計為 VB.NET。雖然斷層痛苦,但換來了語言的一致性與生態融合。
卸載 VB6/VC6 裝 VS2015 是大勢所趨,但請認清:**VB.NET 不是 VB6 的升級版,而是披著 VB 外衣的 .NET 語言**。