Microsoft.SqlServer.Types 加载失败

tey*_*non 5 c# entity-framework first-chance-exception

当我first-chance exceptions启用后VS2010,我第一次打电话时会收到以下消息EntityFramework's SaveChanges()。这是一个WinForms运行MSSQL CE 4数据库的应用程序。

BindingFailure显示名称为“Microsoft.SqlServer.Types”的程序集无法加载到 ID 为 1 的 AppDomain 的“加载”绑定上下文中。失败的原因是:System.IO.FileLoadException:无法加载文件或程序集“ Microsoft.SqlServer.Types,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。

继续后,还会显示此消息:

FileLoadException 无法加载文件或程序集“Microsoft.SqlServer.Types,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT 异常:0x80131040)

我已将其包含Microsoft.SqlServer.Types.dll在项目中。

我知道这是第一次机会异常,并且在调试时它似乎不会影响通知之外的应用程序,但无论如何我想修复它。(这在我的脑海里困扰着我。)

首先,这个错误消息试图告诉我什么?

第二,我该如何解决?

Paw*_*wel 3

如果您使用空间类型,EF 需要探测 AppDomain 中加载了哪些 SqlType 来绑定到它,以便在与 SqlServer 通信时使用它。是执行此操作的代码。如果您查看该BindToLatest()方法,您会发现该异常实际上被捕获并被忽略。您只能在调试时看到它,因为您可能选中了“抛出异常时中断”选项(调试 -> 异常、公共语言运行时异常、“抛出”列)