SSCE 4 无法从 Outlook 插件加载本机组件异常
Posted
技术标签:
【中文标题】SSCE 4 无法从 Outlook 插件加载本机组件异常【英文标题】:SSCE 4 Unable to load native components exception from outlook plugin 【发布时间】:2013-03-06 12:46:29 【问题描述】:我们有一个使用 SSCE 4 和私有部署的 wpf .net 应用程序,效果很好
但是还有一个 Outlook 插件会引发以下异常
System.Data.SqlServerCe.SqlCeException 被捕获 HResult=-2147467259 Message=无法加载本机组件 SQL Server Compact 对应 ADO.NET 提供程序的版本 8876. 安装正确版本的 SQL Server Compact。有关详细信息,请参阅知识库文章 974247。 Source="" 错误代码=-2147467259 NativeError=-1 StackTrace:
at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()
at System.Data.SqlServerCe.SqlCeConnection..ctor()
at System.Data.SqlServerCe.SqlCeConnection..ctor(String connectionString)
at ZKB.initDB() in C:\ZKB\OutlookApi\dbInit.cs:line 42 InnerException:
当下面一行被执行时
SqlCeConnection connection = new SqlCeConnection(myConnStr());
连接到 Assembly.Resolve 显示它试图定位
System.Data.SqlServerCe.resources,版本=4.0.0.1,文化=en-US,PublicKeyToken=89845dcd8080cc91
然后上面的异常出现
SSCE 4 SP1 安装在这台机器上
对可能出现的问题以及如何解决此问题有任何帮助吗?
【问题讨论】:
【参考方案1】:您不能使用 Office 插件的私有部署,这将要求您将 sqlce dll 文件放在 Outlook.exe 的位置下(甚至不确定它是否会工作)
【讨论】:
这似乎是合理的。指向正确的 dll 程序集。解决工作吗?我试过了,但无法解决为什么它在设备上的任何 .config 中都不存在时仍然继续寻找 4.0.0.1 版本? 你的插件项目中是否有4.0.0.1 dll的参考,也许 嗯,这是一个红鲱鱼,这台机器上安装了 SSCE SP1,但它在加载本机二进制文件时失败,关于在哪里查找的任何线索? 不,不是没有坐在你的电脑前用 VS 调试器和 Sysinternals 进程监视器 重新安装 sscev4 sp1 似乎已经修复了它,我已经安装了 ssce 3.5 来让 sqlcetoolbox 工作,这似乎是问题所在,它现在可以工作了,感谢您的所有帮助和所有工作在 sqlcetoolbox 上!以上是关于SSCE 4 无法从 Outlook 插件加载本机组件异常的主要内容,如果未能解决你的问题,请参考以下文章
从任何外部应用程序启动编辑器窗口时,Outlook插件不会显示
将 EF 模型从 SSCE 4.0 切换到 SQL Server 2008 R2
从 Outlook COM 加载项手动触发 Windows 错误报告