5

DLL として持っているサードパーティのネイティブ ライブラリ用の C# ラッパーを作成しています。新しいアセンブリ用の単一の DLL を配布できるようにしたいと考えています。win32 DLL を .NET DLL に組み込み、P/Invoke を使用して呼び出すことはできますか? もしそうなら、どのように?

4

3 に答える 3

2

私はやったことはありませんが、これを行うオープンソース プロジェクトは知っています。彼らは、 mergebinと呼ばれる独自のツールを使用して、ネイティブ SQLite3 コードをマネージ SQLite アセンブリに埋め込みます。

PHX による .NET 用のSQLite プロジェクトにアクセスしてソースを取得すると、その方法を確認できます。

于 2008-12-15T15:22:05.083 に答える
2

ネイティブ dll に依存関係がない場合、動作するはずです。

コード内からストリームにアクセスし、一時フォルダーにシリアル化し、そこから使用するよりも、dll を埋め込みリソースとしてコンパイルできます。

ここにサンプル コードを投稿するには多すぎますが、方法はそれほど複雑ではありません。

于 2008-12-15T11:41:25.623 に答える
1

直接実行できるとは思いませんが、実行時に一時的な場所に抽出して、そのコピーを呼び出すことは可能です。

于 2008-12-15T11:35:49.003 に答える