Microsoft Access 数据库引擎 2010 (ACE)有两个版本。32位和64位。您不能在同一台机器上安装这两个版本。32位版本可以安装在64位操作系统的PC上。Office 64/32 安装的 ACE 具有相同的位数。
这是您可以在客户机器上找到的场景。现在您的应用程序应该适应这种情况并使用TargetCPU
允许您匹配大多数客户的属性(我假设您不能告诉您的用户卸载其 Office 副本以适应您的应用程序要求)
如果您的客户安装了 64 位操作系统和 64 位 Office,那么您只有一种解决方案。TargetCPU = AnyCPU
使用无应用程序Prefer 32bit
或纯应用程序创建 64 位应用x64
程序。任何其他选项都会失败。
相反,如果您的客户没有安装 Office 或 32 位版本(无论操作系统位数如何),那么您可以针对其环境使用TargetCPU=x86
orAnyCPU with Prefer 32bit
选项构建您的应用程序。当然,如果没有安装 Office,那么您需要分发 32 位版本的 ACE。
其他要考虑的数据库选项是SQLite
,MS Sql Server Compact Edition
或SQL Server LocalDB
选项。在任何情况下,您都需要分发适当的库以允许您的应用程序使用这些数据库系统。
为了更好地与已编写的代码兼容,您可能应该选择 Microsoft 解决方案之一,但如果应用程序不大(在数据访问方面),那么您可以放心地探索 SQLite 路径。