簡単に言えば、まだコンパイルしていないのではないでしょうか?
ただし、より良い答えがあります。私があなたを正しく理解しているなら、あなたはこれを持っています:
Solution 1
-- Windows Forms Project A
-- Windows Forms Project B
Windows Forms Project B
からアクセスする必要があるコードがありますWindows Forms Project A
。ここで正しい方向に一歩踏み出しました:
そのため、新しく追加されたプロジェクトで、プロジェクトのプロパティ>アプリケーション>出力タイプ>クラスライブラリで変更しました
ただし、それをクリーンアップするために追加の手順を実行することをお勧めします。Class Library Project B
必要のない Windows フォーム ライブラリをまだ参照しているためです。実際、Windows フォーム ライブラリやその他の UI ライブラリを参照するべきではありません。移植可能にするために、クラス ライブラリは完全に UI に依存しない必要があります。(ヒントとして、移植可能なクラス ライブラリから UI ライブラリを参照する必要がある場合は、おそらくどこかで間違いを犯している可能性があり、どのロジックがどこに属しているかを再考する必要があります。)
したがって、まず、新しいクラス ライブラリ プロジェクトを作成して、次のようにします。
Solution 1
-- Windows Forms Project A
-- Class Library Project B
Project A
次に、を参照する必要がありますProject B
。出力 DLL を参照してこれを実行しようとしていますが、これを行う十分な理由がない限り、これは適切な方法ではありません。代わりに、それらは同じ Solution にあるため、 Project Referenceを使用できます。
Visual Studio を使用している場合は、右クリックしてProject A
を選択しますAdd Reference
。Visual Studio のバージョンによって、レイアウトが異なります。しかし、追加したいのは、ソリューション内の別のプロジェクトへのプロジェクト参照です。選択Project B
すれば準備完了です。
Project B
この時点で、単独でのコンパイルについて心配する必要はありません。によって参照される単なるコンポーネントですProject A
。をコンパイルすると、デフォルトでProject A
の DLLがコンパイルProject B
された出力に含まれます。