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