none
デザイナでdatagridview作成後、デバッグするとフォームデザイナのウィンドウ内が「データが失われる可能性・・・」という表示になり、意味がわからず困っています。 RRS feed

  • 質問

  • datagridviewの内容をXMLに保存したり、読み込みできるアプリケーションを作成後のエラーメッセージの意味がわからなくて困っています。

    Visual C#2008 Express Edition SP1にて、フォームの新しいプロジェクトを作成し、新しい項目でデータセットを追加して、データセットデザイナ内で、

    顧客マスタテーブル、商品マスタテーブル、受注テーブル

    という、3つのデータテーブルを追加して、リレーションを設定後、データソースウィンドウから各データテーブルをフォームにドラッグ&ドロップしてdatagridviewを作成し、受注テーブルのdatagridview内に新たにコンボボックスの非バインド列を2つ追加して、DataPropertyName~ValueMemberを設定し、重複している列を削除してdatagridviewを完成させて、2つのボタンコントロールをフォームに設けて、クリックイベントでReadXml,WriteXmlメソッドを呼び出すようにしました。

    デバッグすると以下のような注意がフォームデザイナに表示されました。

     

    データが失なわれる可能性を防ぐため、デザイナの読み込み前に以下のエラーを解決する必要があります。

    デザイナ ローダーはルート コンポーネントを指定しませんでしたが、その理由を提示しませんでした。

    このエラーのインスタンス (1)

    1.このエラーで使用可能なスタックトレースまたはエラー行情報はありません。

     

    出来上がったアプリケーションは期待通りの動作をしているのに、このエラーメッセージが気になっています。

    検索しても、http://support.microsoft.com/kb/921019/ja の情報しか得られず、この現象が私の作業に問題があるのかどうかが断定できません。

    ご存知の方がいらっしゃいましたら、お教えください。

     

    2010年6月18日 15:16

回答

  • はっきり原因はわかりませんが、とりあえず以下あたりの確認でしょうか・・・

    1.bin/debug, bin/release, obj/debug, obj/releaseを一度削除してみる。(念ためバックアップを取ってから削除する)

    2.参照設定に古いバージョンのアセンブリなどが無いかチェックしてみる。

    3.サードパーティ製のコンポーネントを利用されている場合は、それに関するコードの記述順序を変えてみる。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク Leon65536 2010年6月20日 10:47
    2010年6月19日 23:29
    モデレータ

すべての返信

  • はっきり原因はわかりませんが、とりあえず以下あたりの確認でしょうか・・・

    1.bin/debug, bin/release, obj/debug, obj/releaseを一度削除してみる。(念ためバックアップを取ってから削除する)

    2.参照設定に古いバージョンのアセンブリなどが無いかチェックしてみる。

    3.サードパーティ製のコンポーネントを利用されている場合は、それに関するコードの記述順序を変えてみる。


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク Leon65536 2010年6月20日 10:47
    2010年6月19日 23:29
    モデレータ
  • 返信ありがとうございます。

    1については、trapemiya様から返信が来る前に、以下のフォーラムのスレッドを読んで試しましたがダメでした。

    http://social.msdn.microsoft.com/Forums/ja-JP/vsfeedbackja/thread/02fbd2d4-4412-43e4-a364-e7751504133f

    2と3は、この現象が起きてからVisual C#2008 Express Edition SP1をコントロールパネルから修復・再インストールしました。あと、以前から2010のExpress Editionも入れてあったのですが、残念ながら同じ現象が起きています。サードパーティ製のコンポーネントは使用していません。

     

    作業の順番を変えたり、色々と試してみましたが結局、データソースウィンドウからフォームへ直接ドロップしてできたdatagridviewに、非バインド列を追加して後からバインド列にしたりしなければ、エラー表示が出ないようですので、列を追加することはあきらめて、今後、列の追加の必要があったときは最初から作り直すことにして、今のところ作業を進めています。

     

     

    2010年6月20日 11:48