-2

新しいプロジェクトで新しいプロジェクトを自分のプロジェクトに既に追加しました 新しいクラスを作成し、他のプロジェクトで使用したいコードを新しいクラスにコピーしました。新しいプロジェクトも Windows フォーム タイプです。

私が望むのは、新しいプロジェクト クラスから dll を作成して、後で他のプロジェクトの dll を使用して、追加したばかりの新しいプロジェクトの dll のクラスを使用できるようにすることです。

そのため、新しく追加されたプロジェクトで、プロジェクトのプロパティ>アプリケーション>出力タイプ>クラスライブラリで変更しましたが、新しいプロジェクトクラスの参照を追加しようとすると、ビンの下の新しいプロジェクトでdllファイルが見つかりません>デバッグディレクトリ。

繰り返しますが、新しいプロジェクトをそのソリューションに追加したプロジェクトが 1 つあります。新しいプロジェクトもコードのない Windows フォーム タイプですが、コードを追加したクラスが 1 つだけ追加されています。私がやりたいことは、後でメイン プロジェクトでクラスを使用できるように、新しいプロジェクトの dll を作成することです。

しかし、なぜ dll を作成しなかったのでしょうか?

4

3 に答える 3

1

簡単に言えば、まだコンパイルしていないのではないでしょうか?

ただし、より良い答えがあります。私があなたを正しく理解しているなら、あなたはこれを持っています:

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された出力に含まれます。

于 2012-11-30T22:18:50.553 に答える
0

編集: DLL が見つからない場合は、おそらくまだビルドされていないことが原因です。さらに、2 つのプロジェクトが同じソリューションにある場合に DLL を明示的に追加することは、おそらくやりたいことではありません。

元の投稿の続き: DLL を参照する代わりに、[参照の追加] ダイアログの [プロジェクト] タブをクリックすると、そこから参照が追加されます。

于 2012-11-30T22:15:06.117 に答える
0

新しいプロジェクトをソリューションに追加するときは、Windows フォーム アプリケーションではなく、クラス ライブラリを指定する必要があります。それが完了すると、最初のプロジェクトに参照を追加できるようになり、2 番目のプロジェクト (ライブラリ) がいずれかのタブ (バージョンによっては「プロジェクト」または「ソリューション」) のオプションになるはずです。クラス ライブラリ プロジェクトを実際にビルドするまで、DLL は表示されません。

于 2012-11-30T22:15:53.470 に答える