Microsoft.SqlServer.Types 无法加载
本文关键字:加载 Types SqlServer Microsoft | 更新日期: 2023-09-27 18:37:25
当我在VS2010
中启用first-chance exceptions
时,我第一次调用EntityFramework's
SaveChanges()
时收到以下消息。这是一个运行MSSQL CE 4
数据库的WinForms
应用程序。
绑定失败 显示名称为"Microsoft.SqlServer.Types"的程序集无法 在 ID 为 1 的应用域的"加载"绑定上下文中加载。这 失败的原因是:系统.IO.文件加载异常:无法加载 文件或程序集 'Microsoft.SqlServer.Types, 版本=11.0.0.0, 区域性=中性,公钥令牌=89845dcd8080cc91'或其之一 依赖。找到的程序集的清单定义没有 匹配程序集引用。
继续后,还会显示以下消息:
文件加载异常 无法加载文件或程序集"Microsoft.SqlServer.Types, 版本=11.0.0.0,区域性=中性,公钥令牌=89845dcd8080cc91' 或 它的依赖项之一。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x80131040)
我已经在项目中包含了Microsoft.SqlServer.Types.dll
。
我知道这是一个第一次机会的异常,当我调试时,它似乎不会影响通知之外的应用程序,但无论如何我都想修复它。(这在我的脑海里困扰着我。
首先,此错误消息试图告诉我什么?
其次,我该如何解决它?
如果使用空间类型,EF 需要探测在 AppDomain 中加载了哪些 SqlType 以绑定到它,以便在与 SqlServer 通信时使用它。这是执行此操作的代码。如果您查看BindToLatest()
方法,您将看到如果实际被捕获并忽略的异常。只有在调试时才能看到它,因为您可能选中了"引发异常时中断"选项(调试 ->异常、公共语言运行时异常、"引发"列)
第一次机会异常不是要修复的问题。如果处理了异常,则不会对代码产生影响。
您需要担心的是未经处理的异常。