我正在使用SQLite进行单元测试,并可能将其用作本地开发/暂存的数据库。
System.Data.SQLite基本上有两个版本:x86和x64。应该使用正确的平台。
我有64位Win7,团队中的其他人可能使用32位操作系统。现阶段尚不知道服务器的平台。
如果我在64位平台上使用32位版本的程序集,我会得到BadImageFormatException: Could not load file or assembly 'System.Data.SQLite'
。我相信尝试在32位平台上使用64位汇编会发生类似情况。
所以我的问题是引用SQLite程序集的最佳方法是什么,以便它不依赖于平台而人们可以使用它?
在64位平台上使用32位版本的程序集是可以的(也许在某个地方有一个交换机?)。
答案 0 :(得分:0)
如果它已安装到GAC中,那么您只需参考组件,系统将选择正确的组件。
否则,您需要确保“手动”引用正确的(我过去使用过构建系统,在构建时将正确的版本复制到“deploy”文件夹。这些天,我做的一切是64位,所以这不是什么大不了的事。)
或者,您可以将应用程序构建为x86,然后只使用32位版本。在项目属性中的“构建”选项卡上,将“平台目标”设置为“x86”。您只需要使用可执行文件执行此操作:DLL仍然可以是AnyCPU。