昨天卡在一個新增ADO.NET Entity Data Model後的問題很久...
我的環境是VS2013 update 4 RC,想用MVC5 + EF6做出一個小專案。
Build失敗且產生了下列錯誤訊息:
另外還有Model.tt也發生錯誤情況 打開來看發現檔案只出現一行:ErrorGeneratingOutput
網路上找資料有人反映說這是VS2013的bug...因為有個系統環境變數:%VS120COMNTOOLS% 內的值不對了。
後來我在電腦內嘗試去找這顆entityframework.dll 發現在我的路徑上是 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\entityframwork.dll
所以就把環境變數:%VS120COMNTOOLS% 修正重新開機,後來又發現不行...依然顯示這個錯誤,仔細看了訊息中的相對路徑,才發現要改成 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7 最後才成功。
這問題困擾了我一下,跟之前MVC5+EF5的使用上不同,所以若有人遇到以上問題,還是要仔細觀察一下VS2013安裝到哪個路徑上才比較準確。
model.tt 是靠C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\entityframework.dll運作的,把握這個重點就好了。
P.S.:
- 如果沒找到這個dll那又是另外一個問題了,若有朋友遇到這樣情況請再通知我。
- 失敗後不用整個移除.edmx,只要將.Context.tt, .tt檔案移除後,回到.edmx上按下右鍵 Add Code Generation Item...後,再新增EF 6.x DbContext Generator就可以了。
Cheers.