我是 C# 新手,我正在尝试使用 System.Data.SQLite 建立数据库连接。我正在使用 Compact Framework 二进制文件版本 1.0.84。和 Windows Vista 和 .net 3.5
我正在与 SharpDevelop 合作。我看到了其他几个处理这个问题的帖子,但我认为那些结果是 32 位与 64 位的问题,通过在我没有使用的某种形式的 Visual Studio 中修改项目属性来解决这些问题。我还检查了我的 IDE 中的项目属性,我可以看到的所有选项都指向 x86 和 32 位。我还尝试在属性中使用“任何 CPU”,但没有成功。
以下是相关代码:
try{
SQLiteConnection conn;
conn = new SQLiteConnection("Data Source=C:\\my path");
conn.Open();
conn.Close();
}
catch (SQLiteException ex){
throw new Exception(ex.Message);
}
这是我在调试中运行时遇到的异常:我替换了本地路径。
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception de HRESULT: 0x8007000B)
in System.Data.SQLite.SQLite3.Open
in System.Data.SQLite.SQLiteConnection.Open
in mypath
in System.Windows.Forms.Control.OnClick
in System.Windows.Forms.Button.OnClick
in System.Windows.Forms.Button.OnMouseUp
in System.Windows.Forms.Control.WmMouseUp
in System.Windows.Forms.Control.WndProc
in System.Windows.Forms.ButtonBase.WndProc
in System.Windows.Forms.Button.WndProc
in ControlNativeWindow.OnMessage
in ControlNativeWindow.WndProc
in System.Windows.Forms.NativeWindow.DebuggableCallback
in ComponentManager.System.Windows.Forms.UnsafenativeMethods.IMsoComponentManager.FPushMessageLoop
in ThreadContext.RunMessageLoopInner
in ThreadContext.RunMessageLoop
in System.Windows.Forms.Application.Run
in mypath
此外,当我添加 SQLite.Interop.084.dll 作为参考时,我会收到有关错误图像文件或没有元数据的警告。“本地复制”选项在属性中显示为灰色。
我将 DLL 替换为旧版本(1.0.66),现在我得到“MSB3247 - 发现同一依赖程序集的不同版本之间的冲突”
我删除了项目文件夹中的所有内容并从头开始,但我一直卡住。是否有人成功实施了紧凑框架的解决方案?任何人都可以推荐一个可以在袖珍电脑中使用的类似数据库管理器吗?
- 在与 1.0.66 版本苦苦挣扎数小时后,我回到了 1.0.84 版本。现在我收到这条消息:无法在 c:\dev\sqlite\dotnet\System.Data.SQLite 下加载文件 SQLite3.cs。
该路径必须来自他们开发 dll 的机器,所以我猜测适配器有问题。我想我现在宁愿尝试使用不同的数据库软件,所以我想此时我会就此提出建议而不是解决方案。
对此的任何帮助将不胜感激。