1

MonoMac プログラムで SQLite データベースを使用しようとしています (MonoTouch アプリでデータベースを再利用する目的で)。

2 つの異なる ORM を試しましたが、どちらも同じ問題で失敗します。オンラインで検索すると、MONO_LOG_LEVEL=debugフラグと多くの情報が見つかりましたが、うまく機能しません。

現在、私は Mono.Data.SQLite を参照していますが、私が見つけたものから、それはシステム固有のバージョンのラッパーにすぎないようです。

エラー出力は次のとおりです。

Mono: アセンブリ System.Data v2.0.0.0 をロードする要求が v4.0.0.0 に再マップされました Mono: Assembly Loader プローブの場所: '/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono /gac/System.Data/4.0.0.0_ b77a5c561934e089/System.Data.dll'. Mono: 画像 addref System.Data[0x62ada0] -> /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0 _b77a5c561934e089/System.Data.dll[0xbd5600] : 2 Mono: アセンブリ System.Data[0x62ada0] がドメイン SQLTest.exe に追加されました、ref_count=1 Mono: AOT は AOT モジュール /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/ の読み込みに失敗しましたSystem.Data/4.0.0.0_ b77a5c561934e089/System.Data.dll.dylib: dlopen(/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll.dylib、9): イメージが見つかりません

Mono: アセンブリ ローダーは、次の場所からアセンブリを読み込みました: ' /Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0_ b77a5c561934e089/System.Data.dll'。Mono: 構成を解析しようとしています: '/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/mono/gac/System.Data/4.0.0.0_b77a5c561934e089/System.Data.dll.config'. Mono: 構成を解析しようとしています: '/Library/Frameworks/Mono.framework/Versions/2.10.9/etc/mono/assemblies/System.Data/System.Data.config'. Mono: Assembly Ref addref Catnap[0x6213c0] -> System.Data[0x62ada0]: 2 Mono: Assembly Ref addref System.Data[0x62ada0] -> mscorlib[0x1001d90]: 6 Mono: Assembly Loader プローブの場所: '/Library/Frameworks /Mono.framework/Versions/2.10.9/lib/System.Data.SQLite.dll'. Mono: アセンブリ ローダーのプローブ場所: '/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/System.Data.SQLite.exe'。

未処理の例外: System.IO.FileNotFoundException: ファイルまたはアセンブリ 'System.Data.SQLite' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。ファイル名: 'System.Data.SQLite' at System.AppDomain.Load (System.String assemblyString、System.Security.Policy.Evidence assemblySecurity、Boolean refonly) [0x00000] in :0 at System.AppDomain.Load (System.String) assemblyString) [0x00000] in :0 at (wrapper remoting-invoke-with-check) System.AppDomain:Load (string) at System.Reflection.Assembly.Load (System.String assemblyString) [0x00000] in :0 at Catnap. Database.BaseDbAdapter.ResolveConnectionType (System.String connectionTypeAssemblyName) [0x00000] in :0 at Catnap.Database.Sqlite.BaseSqliteAdapter..ctor (System.String connectionTypeAssemblyName) [0x00000] in :0 at Catnap.

で構成ファイルを追加しようとしました

<configuration>
   <dllmap dll="sqlite3" target="/usr/local/lib/libsqlite3.0.dylib" os="!windows"/>
</configuration>

を変更しようとしまし/Library/Frameworks/Mono.framework/Versions/2.10.9/etc/mono/configたが、何も機能しませんでした。まだ間違った場所を探していて、SQLite が見つかりません。

助けてください?

4

1 に答える 1

0

System.Data.SQLite を探していた理由はまだわかりませんが、提供された dll を使用するのではなく、ORM の 1 つを自分で再コンパイルしたところ、うまくいきました。問題のいくつかは、MonoMac プロジェクトで MonoTouch dll を使用していたことにあると確信しています。CoolStorage(Mono.Data.Sqliteの代わりに使用System.Data.SQLite)を再コンパイルすると解決しました。

誰かが私に説明を与えることができれば、受け入れられた回答を切り替えます。

コードで!

于 2012-10-12T03:58:32.040 に答える