【问题标题】:Where can I find the .EDMX file of my application?在哪里可以找到我的应用程序的 .EDMX 文件?
【发布时间】:2025-12-08 14:30:02
【问题描述】:

我在 Visual Studio 2015 上编译了一个 WPF 应用程序并构建了一个 Release。到目前为止,客户已经使用此版本可能两个月了,没有任何问题。

今天他们打电话说应用程序无法启动并显示此错误:

The provider did not return a ProvideManifest instance.

我以前从未见过此错误。我在现场拜访客户之前正在研究和收集信息,以及几乎所有这些问题:

是说我需要“用记事本打开 EDMX 文件并将 ProviderManifestToken="2012" 更改为 ProviderManifestToken="2008"”。

但是,我无法找到该文件。既不在客户当前拥有的 Release 文件夹中,也不在我拥有的 Project Solution 中。

连同我在研究时发现的其他解决方案,我必须尝试上述解决方案。但是我在哪里可以找到.EDMX 文件?

编辑:如果我可以修复他们现有的版本而无需构建和安装新版本,那就太棒了。

【问题讨论】:

  • 您有异常的完整详细信息(带有内部异常)吗?
  • @RajNagalingam 不,不是在我拜访他们之前。我在他们的机器上有一个记录器,但是没有互联网覆盖可以与 SO 通信。
  • 只是猜测,可能是您要求用户从 appdata 文件夹中删除配置文件(例如 C:\\Users\\{username}\\AppData\\Local\\COMPANY NAME\应用程序名称\应用程序版本文件夹)

标签: c# entity-framework visual-studio-2015 entity-framework-4


【解决方案1】:

通常——即。除非它已在项目中自定义 - EDMX 将是项目构建的装配中的资源,包括模型。

它可以是一个单独的文件,但您需要将连接字符串从其默认值更改为使用特定符号表示“查看程序集”:

metadata=res://*/ProjectName.csdl|res://*/ProjectName.ssdl|res://*/ProjectName.msl

将 EDMX 指向一个单独的文件。

【讨论】:

  • 嗨,理查德,谢谢。问:我可以在不构建和安装新版本的情况下修复他们现有的版本吗?
  • @FirstStep 您需要尝试一下(我知道我已经找到了有关在程序集之外拥有 EDMX 的文档,或者至少是从它派生的文件:但这将是几年前的事了) .
最近更新 更多