從 VS 2005 預覽版升級到 Express Edition Beta 遇到殘留元件清理問題。關鍵阻礙是 Visual Studio .NET Prerequisites 無法從控制台移除,因原安裝媒體已刪除。解決方案:
C:\Windows\Installer)SQL Server 2005 安裝持續報錯(僅有錯誤碼無詳細訊息),最終放棄資料庫功能測試。
Express Edition 預設隱藏進階選項,需啟用兩項關鍵設定:
| 路徑 | 設定 | 用途 |
|---|---|---|
| Tools → Options | ☑ Show all settings | 顯示完整選項樹 |
| Projects and Solutions → General | ☑ Show advanced build configurations | 啟用 Debug/Release 切換等進階建置選項 |
專案建置產生 Reborn.exe,但除錯時偵測到 Reborn.vshost.exe:
// 程式碼
m_Thread = Thread.CurrentThread;
m_Process = Process.GetCurrentProcess();
m_Assembly = Assembly.GetEntryAssembly();
// 正常執行
m_Process.MainModule → "Reborn.exe"
m_Assembly.ManifestModule → "Reborn.exe"
// 除錯執行
m_Process.MainModule → "Reborn.vshost.exe" // 差異在這裡!
m_Assembly.ManifestModule → "Reborn.exe"
vshost.exe 是 Visual Studio 宿主進程,用於:
導致 Process.GetCurrentProcess().MainModule 回傳宿主進程而非實際組件。
Assembly.GetExecutingAssembly().Location 可靠取得實際路徑#if DEBUG 區分除錯/發佈行為開啟 VS 2003 專案發現多項 API 棄用:
FileStream.Handle → 改用 SafeFileHandleObsolete 標記需逐一處理ArrayList/HashtableExpress Edition Beta 雖免費但粗糙:安裝殘留清理困難、SQL Express 整合不穩、宿主進程干擾除錯邏輯、API 大幅變動。適合學習新語法(泛型、匿名方法、partial class),不建議用於實務專案遷移。正式版預期修正多數問題。