http://squeedlyspooch.com/blog/2009/06/29/minvoke-forcing-portability/ 世の中には、せっかく.NET向けにC#で書かれたプログラムなのに、user32.dllやkernel32.dllをP/InvokeしているせいでMono/Linux環境で実行出来ない残念なアプリケーションが少なからず存在する。そしてこれらのP/Invokeは大したメリットも無く使われていることが多いし、何らかのmanaged codeで代用することも多い。 それならば、そんな邪魔なP/Invokeはアセンブリレベルで書き換えて消してしまえ、というのが、最近新しく作られたminvokeというプロジェクトだ。 これはcecilを使って、DllImportされているメンバーへの呼び出しを、minvokeで読み込んだアセンブリの中で対応するクラスのメンバーへ