0

所以有一个很酷的数据库叫做firebird,它可以嵌入使用。.net 提供程序(据我所知)它使用 fbembed.dll,它有两种风格:32 位和 64 位。

.net 数据提供程序如何为正在运行的环境找到正确的数据提供程序?

4

1 回答 1

2

它不会自行选择。您必须在当前文件夹中有该 32 位/64 位 dll 才能加载提供程序。

如果应用程序在 32 位环境中运行(32/64 位操作系统中的 32 位应用程序或 32 位操作系统中的 AnyCPU 应用程序),提供程序将加载 DLL 并期望它是 32 位的。否则你会得到错误的图像格式错误。同样适用于 64 位环境。

出于这个原因,我总是以两种方式创建我的应用程序的 MSI——一种是 32 位 dll,另一种是 64 位。应用程序本身保持不变(AnyCPU),因此操作系统确定需要什么 DLL。我已经使用 Firebird 嵌入式 8 年多了,这种做法对我来说是最容易遵循的。

于 2015-12-21T15:13:46.157 回答