相关疑难解决方法(0)

SQLite与VS2012和.NET 4.5 - 任何CPU构建

我已经尝试查看相关问题的答案,但没有找到任何不是几年的东西(不确定它们是否仍然是首选答案)或完全回答我的问题.

要求:

不幸的是,DLL分为32位或64位版本.

问题:

  • 是否可以包含两个DLL并根据处理器切换它们?我该怎么做呢?
  • 我已经阅读了一些关于GAC的内容,从我读过的内容来看,它是一个本地解决方案.要为我的应用程序实现这一点,我必须在每次安装时将DLL安装到GAC,对吗?
  • 我是否可以强制程序在64位环境中以32位模式运行,从而失去64位优势但能够在两种环境中运行我的程序而不会出现问题?

我不确定的一些可能的答案对我的情况有用:

c# sqlite .net-4.5 visual-studio-2012

8
推荐指数
1
解决办法
6237
查看次数

带有"任何cpu"编译选项的SQLite [未经检查时在64位机器上崩溃"更喜欢32位"选项]

我只是按照说明进行操作

SQLite的-ON-视觉工作室与 - 的NuGet-和易于说明

我能够编译样本C#appliation

"任何cpu"

选项.

但是当我运行应用程序时,如果我选择的话

"喜欢32位"

选项,我的应用程序崩溃:

"无法加载DLL"SQLite.Interop.dll"

如果我取消选中"prefer 32 bit"选项,它在我的64位机器上工作正常.

为什么会这样?有任何修复建议吗?

PS:我使用64位Windows 8.我为SQLite提供了[x86]和[x64]文件夹.

PS 1: 错误:

System.TypeInitializationException:'System.Data.SQLite.SQLiteFactory'的类型初始值设定项引发异常.---> System.DllNotFoundException:无法加载DLL'SQLite.Interop.dll':找不到指定的模块.(从HRESULT异常:0x8007007E)在System.Data.SQLite.UnsafeNativeMethods.sqlite3_config_none(SQLiteConfigOpsEnum OP)在System.Data.SQLite.SQLite3.StaticIsInitialized()在System.Data.SQLite.SQLiteLog.Initialize()在System.Data. SQLite.SQLiteFactory..cctor()---内部异常堆栈跟踪结束---在System.Data.SQLite.SQLiteFactory..ctor()

PS 3:

我注意到一件有趣的事情.虽然在视觉工作室它崩溃,当我运行我的程序exe,只需单击它,它的工作原理.

.net c# sqlite

7
推荐指数
1
解决办法
5980
查看次数

标签 统计

c# ×2

sqlite ×2

.net ×1

.net-4.5 ×1

visual-studio-2012 ×1