0

私は現在小さなアプリを書いているので、SQLiteデータベースを使用することにしました。ILMergeとマージするには、SQLite.Interop.dllとSystem.Data.SQLite.dllの2つのライブラリが必要です。

問題は、exeファイルをそれらのDLLとマージしたい場合です。

それらをマージしようとすると、エラーが表示されます。マージ中に例外が発生しました。

ILMerge.Merge: Could not load assembly from the location 'C:\Program Files\Micro
soft\ILMerge\SQLite.Interop.dll'. Skipping and processing rest of arguments.
   w ILMerging.ILMerge.Merge()
   w ILMerging.ILMerge.Main(String[] args)

さらに、exeをSystem.Data.SQLite.dllとマージすると、機能します。問題はSQLite.Interop.dllライブラリにあります。

.NET v4 [VisualBasic2010]を使用しています。

よろしくお願いします。

4

1 に答える 1

4

SQLite.interop.dllはマネージアセンブリではないため、これは機能しません。

ILMergeは、管理対象アセンブリを読み取って新しい管理対象アセンブリに結合することしかできません。ネイティブdllとマネージアセンブリを混在させる必要がある場合は、setup/msiまたはブートストラッパーのいずれかを作成する必要があります。

于 2014-02-11T14:20:41.927 に答える