問題代碼
AttachDBFilename=|DataDirectory|D5.mdf // 錯誤:缺少斜杠
修復
AttachDBFilename=|DataDirectory|\D5.mdf // 正確:加反斜杠分隔
原因
|DataDirectory| 解析為路徑**不帶尾部分隔符**(如 C:\Project\bin\Debug)。
- 直接拼接文件名會變成
C:\Project\bin\DebugD5.mdf,路徑錯誤。
- 必須手動添加
\ 或 Path.Combine 風格拼接。
默認映射
| 項目類型 | |DataDirectory| 解析路徑 |
| WinForms/WPF/Console | 應用程序啟動目錄 (bin\Debug) |
| ASP.NET | App_Data 文件夾 |
| 單元測試 | 測試運行目錄 |
最佳實踐
string connStr = $@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\D5.mdf;Integrated Security=True;User Instance=True";
using (var conn = new SqlConnection(connStr)) { conn.Open(); ... }
**一個斜杠搞定路徑拼接陷阱。**
- 上一篇文章: J2EE 架構選型:HttpService vs WebService,推薦 SpringMVC 輕量級 REST
- 下一篇文章: C# FTP 上傳 550 錯誤:權限缺失導致無法覆蓋文件
Copyright ©
程式碼之家 All Rights Reserved