Cから.Net4.0のアセンブリを呼び出す

英語の記事ばかりヒットするので日本語で軽くメモを

http://blogs.msdn.com/b/msdnforum/archive/2010/07/09/use-clr4-hosting-api-to-invoke-net-assembly-from-native-c.aspx にあるサンプルを動かしました。

注意点

All-In-One Code Frameworkから落とせるとあったのですが、なぜか私の環境だと正しく落とせなかった(AssemblyInfo.cs,**.vsproj が含まれてない)ので、
http://code.msdn.microsoft.com/CppHostCLR-e6581ee0
から直接落としましょう(2012/10/13時点)


使用したのはVS2012 RCです、ほかの環境で動くかどうかは試してないので悪しからず


以下メモ 面倒なので整形しない

  • COMの嵐
  • bstr_t variant_t SAFEARRAY楽しいですね
  • CLRCreateInstanceは.Net4.0から新しく追加された方法らしい、CorBindToRuntimeExは非推奨に変わっている
  • #pragma region Includes and Imports の部分は本当におまじないだと思ったほうがいい、 #importは自力じゃ書けない


classにちょっとまとめたら追記するかも