エンタープライズ アプリケーションを構築するために 300 以上のユーザー コントロールを使用しています。Visual Studio でアプリケーションを開いて 1 つのフォームを選択するたびに、ツールボックスにコントロールを読み込むのに 3 ~ 5 分かかります (特にツールボックスが表示されている場合)。もっと時間がかかっています。
コントロールで DesignTimeVisibleAttribute を使用してツールボックスへの読み込みを停止できるのは誰ですか?
一般に、ツールボックスの初期化に時間がかかることに気付き始めたら、ツールボックスがアセンブリのプライベート コピーを格納しているディレクトリを確認する必要があります。そのディレクトリには、必要なときにクリーンアップされないコピーを取得するコツがあります。何が原因なのか正確にはわかりませんが、デザイナーのクラッシュが問題の原因である可能性があります。時間の経過とともに蓄積され、ツールボックスの初期化が大幅に遅くなる可能性があります。
ディレクトリ名は
C:\Users\yourname\AppData\Local\Microsoft\VisualStudio\11.0\ProjectAssemblies
"yourname" はユーザー名で、11.0 は Visual Studio のバージョン番号と一致する必要があります。VS2008 = 9.0、VS2010 = 10.0、VS2012 = 11.0、VS2013 = 12.0
そこに表示されるディレクトリの内部を見てください。それらには言葉では言い表せない名前があり、もうそこにあるべきではないものに出くわす可能性が高くなります。ジャンクディレクトリを削除するだけです。次に、ツールボックスを右クリックして [リセット] をクリックすると、元の状態にすばやく戻すことができます。
確認したところ、クラス宣言の前に次のものを配置するだけでよいことがわかりました。
<System.ComponentModel.DesignTimeVisible(False)> _
Public Class ControlClassName
End Class