DllExport を使ってみたけどうまくいかなかった話

C++からC# DLL を直接利用する方法 - Qiita
こんな記事があったので試してみた。

NuGet Gallery | DllExport 1.7.4
こいつなんだけど
動くには動いたけど、DLLにエクスポートテーブルができません!

どうやら、ildasm.exe で DLLを逆コンパイルした後、細工して、ilasm.exe でコンパイルしなおしてるようだ・ω・

"%UseProfile%\.nuget\packages\dllexport\1.7.4\tools\coreclr" に ilasm.exe あった。
バージョンは 4.700.19.60801

これを、
C:\Windows\Microsoft.NET\Framework\v4.0.30319 に入っている ilasm.exe と置き換えて、 fusion.dll を同じフォルダにコピーしてみた。

expdll
すると今度は、エクスポートテーブルできました!

Unmanaged DllExport ってのもあるんだけど、こっちはどうやら自分でパス探して ilasm 起動してるらしい

こいつのおかげで判明
How to Automate Exporting .NET Function to Unmanaged Programs - CodeProject

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です