当我在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
。
我知道这是第一次机会异常,在调试时似乎不会影响通知之外的应用程序,但我还是想修复它。 (这让我感到烦恼。)
首先,这个错误消息试图告诉我什么?
其次,我该如何解决?
答案 0 :(得分:3)
如果您正在使用空间类型,EF需要探测在AppDomain中加载哪些SqlTypes以绑定到它,以便在与SqlServer通信时使用它。 Here是执行此操作的代码。如果查看BindToLatest()
方法,您会看到异常,如果实际被捕获并被忽略。您只能在调试时看到它,因为您可能选中了“抛出异常时中断”选项(Debug - > Exceptions,Common Language Runtime Exceptions,“Thrown”列)
答案 1 :(得分:0)
第一次机会异常不是一个需要解决的问题。如果处理了异常,那么对您的代码不会产生任何影响。
这是你需要担心的未处理的例外情况。