0
我已經在兩個項目中拆分了我的mvc4應用程序。主要項目中引用的一個主要模型和一個模型。然而,當我嘗試創建一個CRUD控制器我ControllerWithContext.tt(-1,-1)
得到一個異常,創建CRUD控制器
FileNotFoundException異常:無法加載文件或assebmly ....或 它的依賴之一。該系統找不到指定的文件。
出了什麼問題?
我已經在兩個項目中拆分了我的mvc4應用程序。主要項目中引用的一個主要模型和一個模型。然而,當我嘗試創建一個CRUD控制器我ControllerWithContext.tt(-1,-1)
得到一個異常,創建CRUD控制器
FileNotFoundException異常:無法加載文件或assebmly ....或 它的依賴之一。該系統找不到指定的文件。
出了什麼問題?
我想問題來自EF連接字符串。通常,當你想使用一個嵌入的資源,你應該設置Metadata
在EF構造類似如下:
Metadata=res://<assemblyFullName>/<resourceName>.
您還可以使用*
通配符代替<assemblyFullName>
類似如下:
Metadata=res://*/model.csdl| ...
其中model
是youe .EDMX文件的名稱。它會導致EF在運行時在文件的以下位置搜索:
如果你正試圖從另一個項目得到的模型,你應該在元數據中輸入項目的全名:
Metadata=res://MyModelPrj/model.csdl | ...
最後,如果您的解決方案只包含.edmx文件,你可以簡單地使用以下命令:
Metadata=res://*/
請注意,這隻有當你在整個解決方案只有一種模式。如果您的解決方案中有多個模型,則會導致另一個錯誤...!
更多信息是here
你能不能添加更多的代碼,這也正是你所引用您的文件?它似乎就像你設置的方式有缺失或不正確的設置。將模型完全從項目中分離出來也是必要的。 MVC領域可以很好地工作,而不需要任何引用問題。 – Nomad101 2013-04-29 08:49:20
你模型組件是否包含POCO實體?你使用任何自動代碼生成策略? – 2013-04-29 08:57:35
我正在使用EF代碼的第一種方法與普通POCO爲我的模型,它駐留在ModelProject中。在我的主要mvc 4項目中,我添加了對模型項目的引用,僅此而已。 – Jim 2013-04-29 09:04:18