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