发布版本中的MetadataException

我的程序使用EF从SQL CE数据库访问数据。 当使用调试设置来调试应用程序时,它可以正常工作,但如果我使用发布设置,当程序试图通过EF访问数据库时,我会遇到MetadataException。 我到目前为止检查过的东西:

  • 调试和发布配置是相同的(相同的目标平台)
  • app.config被复制到与可执行文件相同的目录( Release)
  • sdf数据库文件被复制到 Release
  • 元数据工件处理设置为在输出汇编中嵌入
  • 连接字符串名称在app.config和EF模型中是相同的
  • 我的app.config:

        <?xml version="1.0"?>
        <configuration>
        <connectionStrings>
        <add name="GeoDataEntities" connectionString="metadata=res://*/Model.EF.Model.csdl|res://*/Model.EF.Model.ssdl|res://*/Model.EF.Model.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|GeoData.sdf&quot;" providerName="System.Data.EntityClient" />
        </connectionStrings>
        <startup>
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
        </startup>
    </configuration>
    

    程序集Model.EF是命名空间,Model是edmx的名称,我认为这应该是正确的。

    我知道有很多关于MetadataException的帖子和博客,我试图解决这个问题,但目前为止没有任何工作。

    最好的祝福

    松鸦


    我真的不知道自己做了什么,但是从TFS检入并检出后,它就能正常工作。

    链接地址: http://www.djcxy.com/p/38799.html

    上一篇: MetadataException in Release Build

    下一篇: MetadataException [Unable to load the specified metadata resource]