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 を同じフォルダにコピーしてみた。
すると今度は、エクスポートテーブルできました!
Unmanaged DllExport ってのもあるんだけど、こっちはどうやら自分でパス探して ilasm 起動してるらしい
こいつのおかげで判明
How to Automate Exporting .NET Function to Unmanaged Programs - CodeProject
Comments