2012-09-12 7 views
13

System.Windows.Forms.UserControlと書いてあります。userControl1と書いてありました。私のUserControlは、フォームに追加するたびにVisual Studioをクラッシュします。

Visual Studio 2010のデザイナーから、userControl1をツールバーからドラッグして、testForm1というWindowsフォームにドロップできます。私はuserControl1を結線することができます。

しかし、userControl1の目的は別のUserControlでそれを使用できるようにすることです。userControl2としましょう。

Visual Studio 2010のデザイナーの中から、userControl1をツールバーからドラッグしてuserControl2にドロップすると、Visual Studio 2010がクラッシュし、再起動以外のメッセージは表示されません。この同時に

screenshot

、アプリケーションエラーは、イベントID 1000とイベントビューアに記録されています

Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73 
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000 
Exception code: 0xc00000fd 
Fault offset: 0x0965f816 
Faulting process id: 0x1580 
Faulting application start time: 0x01cd90f84338e443 
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe 
Faulting module path: unknown 
Report Id: 49ddcedf-fcf8-11e1-8016-00248103a942 

は、どのように私はこのエラーをデバッグしようとして行くことができますか? userControl1またはuserControl2で何かを見てください。

いくつかの注意:

  • 1)私はまた、testForm1上にツールバーからuserControl2をドラッグすることができ、それはすなわちディスプレイ)罰金の両方VS2010デザイナで、私はテストアプリケーションを実行します(動作します。

  • 2)私は正常に私が宣言してuserControl1のためにすべての値を設定しuserControl2のデザイナーに行っているが、それが実行されたときにuserControl1testForm1に表示されません。 VS2010デザイナのuserControl2プロパティウィンドウ内からuserControl1を選択すると、Visual Studioがクラッシュします。

  • 3)役立つ場合は、コードを投稿してください。 userControl1またはuserControl2のコードを使用しますか?両方のコントロールが小さいものの、そこに多くのコードは、このエラーはおそらくデザイナーで発生している、特に以来、(まだあるので、私はあまりにも、ということを掲示する必要があると思います。そこ

+4

Visual Studioの2つのインスタンスを実行し、両方のインスタンスでこのプロジェクトを開き、いずれかのインスタンスで***添付ファイルを使用する...***オプションを使用してデバッグします(* devenv.exe * process)。あなたは例外が何であるかを見ることができます。 –

+3

UserControlのコードの一部は、デザイン時にも実行されます。そのコードにはバグがあり、StackOverflowExceptionが発生します。かなり致命的なエラーで、VSも同様にダウンします。あなたがそれを見つけることができない場合は、再帰的なプロパティの設定/ゲッターを探して、ものをコメントアウトしてください。 –

+0

コード例を投稿できますか? – bryanbcook

答えて

16

これは問題の解決に役立つようです

Visual Studioデザイナーでコントロールを使用するときにコントロールをデバッグするには、Visual stuの2つのインスタンスを実行します両方のインスタンスでプロジェクトを開きます。次に、いずれかのインスタンスでを添付して処理...オプションを使用し、2番目のインスタンスに接続してデバッグします(devenv.exeプロセス)。このようにして、例外が何であるかを知ることができます。

+1

Visual Studioはdevenv.exeではない可能性があります。 Visual Studio 2012 Express for Desktopを実行している私にとっては、正しくリコールすればWDExpress.exeでした。 – ekolis

+1

今日は私を救ってくれてありがとう –

+0

このアプローチは、私が期待したよりずっと簡単でした。私の問題は、ネストされたUserControlのLoadイベントから呼び出されたサードパーティのコントロールへの参照で、バージョニングの問題であることが判明しました。 – Giles

2

可能性のコンストラクタで何かあなたのコントロールが利用できない別のものにアクセスしようとしているか、IDEで捕捉できない例外を作成しています(StackOverflow、OutOfMemoryなど)

+1

ルーカスが戻って答えとしてコメントを投稿すれば、それを解決策としてマークします。彼がいない場合、彼のコメントを追加してあなたの投稿を更新することを歓迎し、私はあなたの答えとしてマークします。 – jp2code

関連する問題