以下は再現可能です。公開されているにもかかわらず、別のソリューションからユーザーコントロールを追加できません。
私には2つの解決策があります。
1つにユーザーコントロールがあります。そのソリューションは、だから私は、ユーザーの溶液を作成したtestusercontrolproj
、他のソリューションがPROJECTA
と呼ばれていると私はPROJECTAは、他の溶液からユーザーコントロールを使用するために取得しようとしている
testusercontrolprojと呼ばれていますcontrol - testusercontrolprojツールボックスに表示されます。
次に、ユーザーコントロールを使用するソリューションProjectAを作成します。私はソリューションを右クリックし、既存のプロジェクトを追加することを選択し、私はtestusercontrolprojを指し、私はそれをインポートします。そして私はそれへの参照を追加します。それにusingステートメントを追加します。そして、私は解決策を再構築し、projectAを再構築します。それでも、Visual Studioを再起動する -
私は、ProjectAの解決策の中で、私はtestusercontrolprojプロジェクトに行くと、そこでフォームをダブルクリックし、ツールボックスをクリックすると、私はコントロールが表示されます。
ただし、ProjectA内でProjectA内のフォームをダブルクリックしてツールボックスをクリックすると、ユーザーコントロールが表示されません。
ここでの回答C# adding usercontrol from different project in solutionは公開することを提案していますが、ユーザーコントロールは公開されていますが、これはデフォルトです。 public partial class UserControl1 : UserControl
いいえ、コピーを作成しないでください。それはコードの再利用の目的を打ち破ります。ソリューションには2つのWindowsフォームベースのプロジェクトがあります。どちらもEXEファイルにコンパイルされます。testusercontrolprojのWindowsアプリケーションではなく、プロジェクトのプロパティからクラスライブラリに出力タイプを変更し、コピーしたユーザーコントロールを削除して、どれだけ遠くにいるかを確認してください。 – Andez