Visusal C++ネイティブプロジェクトからC#マネージドコードを使用する方法を不要な文章抜きで説明する

 諸事情によりマネージドコードを併用したほうが生産性が高いのだが、ネイティブプロジェクトから呼び出したい、という場合の方法。


  1. C#マネージドDLLプロジェクトでDLLを作成。
  2. C++CLI DLLプロジェクト」を作成し、1で作成したDLLを用いて処理を書き、エクスポート。これをMixed Assenmblyなどと呼ぶらしい。
  3. 2で作成したMixedなDLLをネイティブ(アンマネージド)プロジェクトから呼ぶ。


 これだけなのだが、言われてみないと割とどうしていいかわからなかったりする。元ネタは以下。簡単なサンプルがダウンロード出来るので、それを見れば一目瞭然かと。

 C++CLIプロジェクトでいいだろ、という異論はもちろんあるだろうが、ネイティブプロジェクトの設定を変えること無く呼べる、という点がミソである。