0

我已将我的 mvc4 应用程序拆分为两个项目。主项目中引用的一个主模型和一个模型。但是,当我尝试创建 CRUD 控制器时,出现异常ControllerWithContext.tt(-1,-1)

FileNotFoundException: 无法加载文件或程序集 .... 或其依赖项之一。该系统找不到指定的文件。

怎么了?

4

1 回答 1

1

我认为问题出在 EF 连接字符串上。通常,当您想使用嵌入式资源时,您应该Metadata在 EF ConStr 中设置如下:

Metadata=res://<assemblyFullName>/<resourceName>. 

您也可以使用*通配符,而不是<assemblyFullName>像下面这样:

Metadata=res://*/model.csdl| ...

model你的 .EDMX 文件的名称在哪里。它会导致 EF 在运行时在以下位置搜索文件:

  • 调用程序集。
  • 引用的程序集。
  • 应用程序的 bin 目录中的程序集。

如果您尝试从另一个项目中获取模型,则应在元数据中输入项目的全名:

Metadata=res://MyModelPrj/model.csdl | ...

最后,如果您的解决方案仅包含一个 .EDMX 文件,您可以简单地使用以下内容:

Metadata=res://*/

请注意,这仅在整个解决方案中只有一个模型时才有效。如果您的解决方案中有多个模型,它只会导致另一个错误......!

更多信息在这里

于 2013-07-25T05:10:18.097 回答