プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2018/11/02

C# と C/C++ のライブラリを混在させる場合の構成

event_note2018/11/02 6:37

1つの Visual Studio のソリューション内で、C# と C/C++ のプロジェクトを混在させた場合の構成についてです。

やりたいことは以下です。

  • C/C++ で作成したライブラリを C# のプロジェクトで参照したい
  • 従って、C# のプロジェクトの前に C/C++ のプロジェクトをビルドする必要がある

依存関係

ソリューションエクスプローラーで C# のプロジェクトを右クリックし、[ビルド依存関係] > [プロジェクト依存関係] を選択します。

C/C++ のプロジェクトにチェックを入れます。

これで、C# のプロジェクトより先に C/C++ のプロジェクトのビルドが行われるようになります。

構成マネージャーの設定

依存関係を設定しただけでは、C# のプロジェクトをビルドする際に、C/C++ のビルドが自動で行われるようにはならなかったので、構成マネージャーで設定します。

ソリューションエクスプローラーでソリューションを右クリックし、[構成マネージャー] を選択します。

C/C++ のプロジェクトにチェックを入れます。
(Debug ビルドと Release ビルドの両方でチェックを入れます。)

成果物のコピー

C# 側のプロジェクトのビルド前イベント(またはビルド後イベント)で、C/C++ のプロジェクトで作成した DLL を C# のプロジェクトの出力フォルダにコピーするようにバッチファイルなどを作成します。