當初開發時為了圖個方便, 所以直接把資料庫檔案(mdf)跟web service 透過 visual studio 部屬到機器內, 然後直接在機器上跑LocalDb, 結果卻出現以下的錯誤訊息 Cannot get a local application data path. Most probably a user profile is not loaded. If LocalDB is executed under IIS, make sure that profile loading is enabled for the current user. 很明顯地, 這個訊息表示我們必須設定IIS的 user profile 因為執行LocalDb的相關檔案是儲存在使用者資料夾裡面, 如: C:\Users\ Administrator \AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB 而跑在IIS上的web service預設是以 ApplicationPoolIdentity的身分去執行, 所以如果沒有load user profile的話, 就無法得知實際LocalDb instance的路徑 解法很簡單: Step 1. 在IIS上打開Application pool的頁面 Step 2. 選擇你的application pool Step 3. 點擊 Advanced Settings Step 4. 找到Load User Profile並選擇True Ref: https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/