【发布时间】:2015-11-07 17:58:05
【问题描述】:
在我的程序中,我有这个简单的代码:
using System;
using System.Data;
using Mono.Data.SqliteClient;
....
IDbConnection cnx = new SqliteConnection("URI=file:reestr.db");
cnx.Open();
....
这就是我编译它的方式:
$ mcs Test.cs -r:System.Data.dll -r:mono.data.sqliteclient.dll
编译正常。但是当我使用./Test.exe 运行它时,我会收到以下错误消息:
程序集中缺少方法 .ctor .... 未处理的异常: System.IO.FileNotFoundException:无法加载文件或程序集“Mono.Data.SqliteClient,Version=2.0.0.0,Culture=neutral,PublicKeyToken=0738eb9f132ed756”或其依赖项之一。 文件名:'Mono.Data.SqliteClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
我不确定我在这里做错了什么以及如何修复它。
PS。我使用 Ubuntu 作为我的操作系统。
【问题讨论】:
-
呸,好像我做到了。虽然本教程 - mono-project.com/docs/database-access/providers/sqlite - 完全具有误导性,并没有带来预期的结果。关键因素是安装正确的 dll。
Mono.Data.SqliteClient.dll- 不是正确的,至少在我的情况下它会产生错误。正确的库是Mono.Data.Sqlite.dll