0

むかしむかし、Windows/Linuxで2つのバイナリなしでsqlite dbを使用する方法があるかどうか尋ねました。誰かが mono の使用を提案し、Windows 上の .NET には mono のインストールが必要かどうか尋ねたところ、いいえと言われました。

Linux vm からこの参照ファイルを取得しました

mono\gac\Mono.Data.Sqlite\2.0.0.0__0738eb9f132ed756\Mono.Data.Sqlite.dll

次に、これらの2行を main() に書きました

var connection = new Mono.Data.Sqlite.SqliteConnection("Data Source=test.db3");
connection.Open();

この例外が発生します

System.TypeInitializationException was unhandled
  Message=The type initializer for 'Mono.Data.Sqlite.SqliteConvert' threw an exception.
  Source=Mono.Data.Sqlite
  TypeName=Mono.Data.Sqlite.SqliteConvert
  StackTrace:
       at Mono.Data.Sqlite.SqliteConvert.Split(String source, Char separator)
       at Mono.Data.Sqlite.SqliteConnection.ParseConnectionString(String connectionString)
       at Mono.Data.Sqlite.SqliteConnection.Open()
       at rsa_test.Program.Main(String[] args) in Program.cs:line 56
  InnerException: System.ArgumentException
       Message=Value does not fall within the expected range.
       Source=mscorlib
       StackTrace:
            at System.Runtime.CompilerServices.RuntimeHelpers.InitializeArray(Array array, RuntimeFieldHandle fldHandle)
            at Mono.Data.Sqlite.SqliteConvert..cctor()
       InnerException: 

では、モノがインストールされていないモノのsqliteを使用することはできませんか? または私は何か間違ったことをしましたか?

4

2 に答える 2

0

私は同じ問題に遭遇し、dotConnect for SQLiteが Mono および Windows とも互換性のある別のソリューションであることを発見しました。

于 2013-05-14T01:51:37.210 に答える