2012年12月21日 星期五

解決 MVC 4 引動過程的目標傳回例外狀況

開發環境

Win 7 + Visual Studio 2012 + .Net Framework 4 + SQL Server 2008 R2

問題描述

使用MVC 4 預設的Internet Application Templat按下F5進行測試,首頁進的去,直到按下Register或Login會發生錯誤。
Visual Studio 2012 錯誤中斷畫面
Visual Studio 2012 因錯誤而中斷"引動過程的目標傳回例外狀況"
網頁出現系統找不到指定的檔案
網頁出現"系統找不到指定的檔案"

解決方式

將ConnectionString的AttachDBFilename移除
將ConnectionSTring的Data Source改為正確的名稱

原來的

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication4-20121221163908;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication4-20121221163908.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>

移除後

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(local);Initial Catalog=aspnet-MvcApplication4-20121221163908;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  </connectionStrings>

修改後執行成功囉
修改後執行成功囉

心得

MVC 4預設Template會自動建立DB相關資料,而Register、Login的Action觸發了建立DB的動作,這個動作會失敗感覺上是連不到資料庫,因而我嘗試修改connectionString的字串即成功。







沒有留言:

張貼留言