22

Visual Studio 2008 を使用してこの C# アプリを楽しくハッキングして数日が経過した後、次のようなエラー ダイアログが次々と表示されます。

プロパティ ' valueMember ' のコード生成に失敗しました。
エラー: 「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」

これは、デザイナーで小さな変更を加えたときによく発生します。たとえば、コントロールを数ピクセルシフトしてから保存しようとするなどです。そのようなエラーダイアログが毎秒いくつか表示され、VSを閉じるためにalt-F4を取得しようとしているときにEnterキーを叩いてすべてをキャンセルするのに忙しくしています.

最終的に、VSを閉じて、行った変更を保存します。VSを再起動した後、プロジェクト全体で「クリーン」を実行してから「ビルド」すると、すべて正常に動作し、アプリは問題なく動作します。

フォーム デザイナーを少し変更するまでは。

valueMemberアプリ内のプロパティがわかりません。

これは私を夢中にさせます。それは私のプロジェクトの本当のショーストッパーです。どんな助けでも大歓迎です。

4

9 に答える 9

20

Visual Studio を閉じて、もう一度開いてみてください。ばかげているように見えるかもしれませんが、うまくいきます!!

于 2014-09-18T09:30:19.090 に答える
16

別のビジュアル スタジオを使用してデザイナーをデバッグし、プロセスにアタッチできます。例外が発生した場合は、その方法で簡単に見つけることができます。一般に、デザイナーを開くと、コンストラクターともちろん initializeComponent が実行されます。

于 2012-11-22T19:17:42.007 に答える
12

これは設計時に発生するため、デフォルトを持たないパラメーターまたはその他の値を必要とするカスタム コントロールがある可能性があります。

Visual Studio のデザイン ビューの場合。ビジュアル エディターでレンダリングするためにコントロール インスタンスが作成されますが、コントロールをレンダリングする前にプロパティを設定する必要がある場合は、エラーが発生します。

すべてのカスタム コントロールに既定値があり、既定値を持たないコンストラクターで参照されているものはすべて、DesignModeプロパティによってラップされていることを確認できますか? http://msdn.microsoft.com/en-us/library/system.componentmodel.component を参照してください。 designmode.aspx .

于 2012-11-22T17:15:33.760 に答える
0

私はこの問題に直面しなければなりませんでした。私は解決策(多くの継承)を見つけていないので、次のことがわかります: .SuspendLayout()そして.ResumeLayout()、コードまたはそれらの1つに欠けている可能性があります。.BeginInit()とも同様です.EndInit()= new ...それらの間には、プロパティの設定がいくつかあることが予想されます。この問題に直面している誰かが、この情報で解決策を見つけるかもしれません。

于 2014-03-17T18:03:39.660 に答える