【发布时间】:2014-06-13 21:30:16
【问题描述】:
我意识到这个问题已经被问过很多次了,但我似乎无法弄清楚我的问题。我收到以下错误堆栈:
当我反映我的 dll 时,我可以看到以下内容
阅读http://blogs.teamb.com/craigstuntz/2010/08/13/38628/ 表明我希望在这里看到 csdl、msl 和 ssdl 文件,但事实并非如此。它们确实存在于 obj\Debug\edmxResourcesToEmbed 中。
Never-the-less 我试图通过这样做明确告诉 web.config 在哪里查看:
...connectionString="metadata=res://DllName.dll/PaymentModel.csdl|res://DllName.dll/PaymentModel.ssdl|res://DllName.dll/PaymentModel.msl;provider=System.Data.SqlClient;provider ... />
这只是抛出一个错误,说它找不到 dll:
无法解析程序集“DllName.dll”。
非常类似于这个未解决的 SO 问题Unable to resolve assembly Model.dll
我尝试的最后一件事是将元数据行更改为:
...connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider ... />
这引发了一条关于我没有使用的 sql ce 的消息 - 有没有办法解决这个问题??
还有什么我可以尝试的吗?或者任何人都可以看到我要去哪里错了吗?一些额外的细节:
使用设置为“嵌入式资源”的 EF 6 EDMX
复制到输出目录:“不要复制”
- 元数据工件处理:“嵌入输出 大会”
最后,如果我将 EDMX 从 Embedded Resource 设置为 EntityDeploy,那么这将在本地工作,但不能在构建服务器上构建,因为它会引发与此 SO 问题完全相同的错误:
Could not find the Conceptual Schema node to embed as a resource for input file
但修复似乎没有帮助,很遗憾我无法在服务器上安装 .NET 4.5。
【问题讨论】:
-
当我将我的模型从项目的根目录移动到一个名为“Model”的子文件夹中时,我遇到了思考问题,当我将它放回它开始的位置时,问题就消失了
-
我重新启动了我的电脑,它又开始工作了......
标签: c# entity-framework entity-framework-6