0

我将 VS 2013 与 InstallShield Limited Edition 项目一起使用。

在我创建参考的开发环境中一切正常System.Data.SqlServerCe.dll

在我生成 .exe 文件并安装我的应用程序后,它无法找到 SQL Server CE 3.5 的参考,因此会自动获取 SQL Server CE 4.0 的参考并给出错误。

不兼容的数据库版本。如果这是兼容文件,请运行修复。对于其他情况,请参阅文档。[ Db 版本 = 4000000,请求版本 = 3505053,文件名 = \?\C:\Users\someuser\AppData\Local\testapp\testdb.sdf ]

我曾尝试浏览 MSDN 上的“ this ”文章,但在我的项目属性中找不到任何发布选项卡。

此外,我正在System.Data.SqlServerCe.dll使用我的设置部署所有 7 个 32 位版本的 SQL Server CE 3.5 dll。

sqlceca30.dll
sqlcecompact30.dll
sqlceer30en.dll
sqlceme30.dll
sqlceoledb30.dll
sqlceqp30.dll
sqlcese30.dll
4

2 回答 2

0

不,问题是您的数据库文件是 4.0 格式。正如您从错误消息中看到的那样,引擎正试图打开一个 3,5 文件,但却得到一个 4,0 文件。所以你的应用程序使用的是 3,5 引擎。

于 2014-10-01T15:41:51.030 回答
0

问题是当我尝试使用 InstallShield 部署 msi 包时,它使用的构建设置 (x64) 与我当前的设置 (x86) 不同,这导致我的应用程序获取 x64 Sql Server CE 4.0 文件的引用。因此通过更改单图像编译选项的设置来修复它。

于 2014-10-14T12:05:52.917 回答