我有一些與實體框架嚴重的問題,我似乎無法弄清楚發生了什麼事情。無法加載指定的元數據資源
我試圖提供多種選擇:MetadataException: Unable to load the specified metadata resource和著名的克雷格斯頓茨的博客中位於:http://blogs.teamb.com/craigstuntz/2010/08/13/38628/
我有3個項目爲簡潔起見:
Funscribe.Data(位於此EDMX文件)
Funscribe.Console(控制檯應用程序)
Funscribe.Web(MVC 3應用)
最初它只是MVC應用程序,我最近添加了這個新的控制檯項目。
我從web.config中複製連接字符串,並將其應用到我的app.config:
<add name="FundirectoryEntities" connectionString="metadata=res://*/Fundirectory.csdl|res://*/Fundirectory.ssdl|res://*/Fundirectory.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\sqlexpress;initial catalog=Funscribe;user id=sys_Funscribe;password=blah;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
我的MVC應用程序繼續工作,但是當我運行控制檯應用程序,我得到了可怕的:
「無法加載指定的元數據資源。」
我試圖改變連接字符串通配符設置:
<add name="FundirectoryEntities" connectionString="metadata=res://*/;provider=System.Data.SqlClient;provider connection string="data source=localhost\sqlexpress;initial catalog=Funscribe;user id=sys_Funscribe;password=blah;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
我得到: 指定的默認EntityContainer相關名稱「FundirectoryEntities」無法在映射和元數據信息中找到。
我試圖改變它指定程序集:
<add name="FundirectoryEntities" connectionString="metadata=res://Funscribe.Data.dll/Fundirectory.csdl|res://Funscribe.Data.dll/Fundirectory.ssdl|res://Funscribe.Data.dll/Fundirectory.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\sqlexpress;initial catalog=Funscribe;user id=sys_Funscribe;password=blah;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
我得到: 無法解析程序集 'Funscribe.Data.dll'。
我迷失在我應該做的事情上。我剛剛將這個項目升級到Visual Studio 2012(我在轉換到VS 2012之後引入了這個新的控制檯應用程序)。
我也注意到Funscribe.Data.dll位於控制檯項目的bin文件夾內,我手動刪除了這些文件並觀察它被重新創建。 而令我感到困惑的是,網絡應用程序繼續正常工作!
所有項目都在.NET 4.0上。控制檯應用程序使用.NET 4.0而不是客戶端配置文件版本。
任何有關這個問題的幫助,非常感謝。
真棒的答案。這幫了我很多! – Grasshopper