MS Visual Studio 2008を使用して、2番目のライブラリ(helper.dll)に依存するC#ライブラリ(main.dllと呼びます)を作成しました。main.dllのデバッグバージョンで、helper.dllのデバッグバージョンへの参照を設定しました。しかし、main.dllのリリースバージョンをビルドするように切り替えると、出力フォルダーにはまだhelper.dllのデバッグバージョンが含まれています。ビルドタイプごとにhelper.dllのバージョンを選択する方法がわかりません。C ++では、ファイルを取得するフォルダーをリンカーに指示できましたが、C#でそれを行う方法がわかりません。
3 に答える
これを行う一般的な方法は、すべてのプロジェクトを1つのソリューションにまとめ、それらの間でプロジェクト参照を使用することです。次に、Debugをビルドすると、すべてのコンポーネントがビルドされ、debugとして参照されます。同様にReleaseの場合も同様です。
または、すべてのアセンブリに単一の出力フォルダーを使用し、そこから各バイナリを参照して、ビルド順序が正しいことを確認します。これにより、ビルドhelper.dll
前にそのフォルダーにmain.dll
ビルドされます。ただし、これは失敗する可能性が高く、手動によるメンテナンスがより多く必要になります。
デバッグからリリースに切り替えると、VisualStudioは出力用のbinフォルダーでデバッグからリリースに切り替わります。
main.dllの「常にコピー」プロパティをtrueに設定します。これにより、適切な出力フォルダーにコピーされ、常に参照されるようになります。
2番目のライブラリhelper.dll
が同じソリューションで同時にビルドされている場合は、.dllを直接参照する代わりに、プロジェクト参照を使用できます。次に、モードのソリューションレベルの構成をセットアップし、その方法Release
で両方のプロジェクトをモードでビルドできRelease
ます。