C++/CLIで作成したDLLが正しくロードされない件について(お詫び編)

id:NyaRuRu様より,「VS2005 SP1 では,C++ランタイムライブラリが更新されている」との指摘を受け,もしかして...,と確認してみたら.

  • ビルドマシン:VS2005sp1
  • 実行マシン:VS2005,もしくはVS無し

ビルドマシンがVS2005 SP1 であったことを,すっかり忘れていました...orz


まとめると,以下の手順で動くようになります.

ビルドマシン:
(1) プロジェクトをビルドする.
(2) 生成された CppCLI.dll と CppCLI.dll.intermediate.manifest から,

mt /manifest CppCLI.dll.intermediate.manifest /outputresource:CppCLI.dll;#2

のようにして,マニフェストを埋め込んだDLLを作成する.
↑(2)は, VS2005 のプロジェクトを利用した場合に限り,やらなくても問題ありません.


実行マシン:
ビルドマシンの "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe" を,実行マシン側にインストール(前回は,Visual Studio 2005 sp1 で更新されたものではないvcredist_x86.exeを使用していたため,動作しませんでした.)


無事,動くようになりました.

うおお...,恥ずかしい...(*ノωノ)
変なことを書いてしまい,すみませんでした(id:NyaRuRu様,ご指摘いただきありがとうございます).