Entity Frameworkに深刻な問題があり、何が起こっているのか理解できないようです。
提供されている多くのオプションを試しました:MetadataException:指定されたメタデータリソースと、http://blogs.teamb.com/craigstuntz/2010/08/13/38628/にある有名なCraigStuntzのブログ投稿を読み込めません
簡潔にするために、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'を解決できません。
私はここで何をすべきか迷っています。このプロジェクトをVisualStudio2012にアップグレードしました(VS 2012に変換した後、この新しいコンソールアプリを紹介します)。
また、Funscribe.Data.dllがコンソールプロジェクトのbinフォルダー内にあることに気付きました。これらのファイルを手動で削除して、再作成されるのを確認しました。そして、私を困惑させるのは、Webアプリが引き続き正常に機能することです。
すべてのプロジェクトは.NET4.0上にあります。コンソールアプリは、クライアントプロファイルバージョンではなく.NET4.0を使用します。
この問題に関する助けは大歓迎です。