none
VB.NET 2003 で ソリューション エクスプローラ内のアイコンの表示が変わるのはなぜ? RRS feed

  • 質問

  •  

    こんにちは!K.Tyouです。

     

    ■現状

       ●開発言語:VB.NET 2003

           ●パソコンとモバイルデバイスのPDAをつないでいる

             ・パソコンには VB.NET 2003で開発したアプリが置いている

             ・PDAにも 上記のアプリを搭載して 実際PDAの中で アプリは実行できる状況である。

       ●主な動作:1.PGのソリューションを開く

               2.デバック(スデップイン)して、コーディングを解析する

     

    ■本来ならば

    1の操作をした時、ソリューション エクスプローラ内には、フォームが3つ(Form1・Form2・Form3)ある。

    それぞれ、フォームのデザインも確認できるし、ソースもみれる。

     

    ■現在

    あるタイミングで、デザインが見れなくなる。(コーディングは見れるけど)

     

    ■質問

    Q1:もともとVB.NET 2003 では、こんな現象が起きたりするのですか?

    Q2:解決法として 考えられるのはなんでしょうか?

     

    どなたかご存知の方がおるなら、ご教授お願いします!

     

     

     

     

        

    2007年9月13日 5:50

回答

  • はずしているかもしれませんが、ご参考まで・・・

     

    VB.NETのソリューションエクスプローラに表示されるアイコンは、

    コード状の継承関係をみて、動的に繁栄されています。

     

     

    Public Class Form1
        Inherits System.Windows.Forms.Form

     

    であれば、Form1.vbには、フォームのアイコンが表示されます

     

     

    Public Class Form1
        Inherits FontDialog

     

    であれば、Form1.vbには、コンポーネントのアイコンが表示されます

     

    継承をとりはらって、

    Public Class Form1

     

    であれば、Form1.vbには、VBクラスのアイコンが表示されます

     

    このあたりが関係しているかもですね・・・

     

    これが原因だとすると、継承関係をきっちりみなおすか、
    名前空間、参照設定を見直すか、

    プロジェクトのプロパティで、プロジェクトのインポートの名前空間を見直して

    意図していないクラスが継承されていないか確認するとよいかと。

     

    2007年9月19日 7:34

すべての返信

  • 別のコミュニティで、似たような現象の質問を見かけたことがあります。
    Visual Studio は IDE 上にツール バーなどのアイテムが設置してあるわけですが、
    これが実行時とそれ以外の場合とで分けて管理されています。

    実行するとデバッグ実行時のパターンに切り替わるわけです。(フォルトではツール バーが切り替わったりしますよね)

    これがデバッグ終了後も元に戻らないという現象です。

    その方は IDE の設定をリセットしてもダメだったので、再インストールを進めたところ直ったようです。

    ところで "デザインは見えない、コーディングは見える" というのがちょっと意味がわからなかったのですが、
    "(ある) デザイナは見えない、がそのソースコードはエディタで見ることができる" という意味で捉えました。

    2007年9月13日 7:02
  • はずしているかもしれませんが、ご参考まで・・・

     

    VB.NETのソリューションエクスプローラに表示されるアイコンは、

    コード状の継承関係をみて、動的に繁栄されています。

     

     

    Public Class Form1
        Inherits System.Windows.Forms.Form

     

    であれば、Form1.vbには、フォームのアイコンが表示されます

     

     

    Public Class Form1
        Inherits FontDialog

     

    であれば、Form1.vbには、コンポーネントのアイコンが表示されます

     

    継承をとりはらって、

    Public Class Form1

     

    であれば、Form1.vbには、VBクラスのアイコンが表示されます

     

    このあたりが関係しているかもですね・・・

     

    これが原因だとすると、継承関係をきっちりみなおすか、
    名前空間、参照設定を見直すか、

    プロジェクトのプロパティで、プロジェクトのインポートの名前空間を見直して

    意図していないクラスが継承されていないか確認するとよいかと。

     

    2007年9月19日 7:34
  • あ、アイコンの話だったのですか...

    "あるタイミングで、デザインが見れなくなる。(コーディングは見れるけど)" だけ読んで答えてしまいました。

    件名もちゃんと見ないといけませんね...

    2007年9月19日 12:10
  • ご回答、ありがとうございました。

     

    なんか解決方法が見えてきたような気がします。

     

    あと、じゃんぬねっとさんも ありがとうございました。

     

     

    2007年10月5日 9:02
  • 自分も同じ現象が発生しています。

    タイミングはまちまちです。

     

    で、このような現象が発生している時にプロジェクトファイル(.vbdproj)をメモ帳等で見ると

     

    Files要素内の対象のFile要素のSubType属性がなぜかCodeになってしまっていました。

    正常な時

            <Files>
                <Include>
                    <File
                        RelPath = "Form1.vb"
                        SubType = "Form"
                        BuildAction = "Compile"
                    />
                </Include>
            </Files>
    おかしくなってる時 

            <Files>
                <Include>
                    <File
                        RelPath = "Form1.vb"
                        SubType = "Code" ←本来FormのはずなのにCodeになっている
                        BuildAction = "Compile"
                    />
                </Include>
            </Files>

    特にフォームの継承等は行っていなし当然、自動生成されたコード等を編集したりもしていません。

    そのような状況でも同様の現象は発生したのでこのような状況になった時、自分はプロジェクトを一旦閉じて

    おかしくなっているSubTypeを修正して開きなおして対応しました。

    多分、不具合のような気もするのですが・・・(^^;

    2007年10月7日 11:45