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

質問
-
こんにちは!K.Tyouです。
■現状
●開発言語:VB.NET 2003
●パソコンとモバイルデバイスのPDAをつないでいる
・パソコンには VB.NET 2003で開発したアプリが置いている
・PDAにも 上記のアプリを搭載して 実際PDAの中で アプリは実行できる状況である。
●主な動作:1.PGのソリューションを開く
2.デバック(スデップイン)して、コーディングを解析する
■本来ならば
1の操作をした時、ソリューション エクスプローラ内には、フォームが3つ(Form1・Form2・Form3)ある。
それぞれ、フォームのデザインも確認できるし、ソースもみれる。
■現在
あるタイミングで、デザインが見れなくなる。(コーディングは見れるけど)
■質問
Q1:もともとVB.NET 2003 では、こんな現象が起きたりするのですか?
Q2:解決法として 考えられるのはなんでしょうか?
どなたかご存知の方がおるなら、ご教授お願いします!
回答
-
はずしているかもしれませんが、ご参考まで・・・
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クラスのアイコンが表示されます
このあたりが関係しているかもですね・・・
これが原因だとすると、継承関係をきっちりみなおすか、
名前空間、参照設定を見直すか、プロジェクトのプロパティで、プロジェクトのインポートの名前空間を見直して
意図していないクラスが継承されていないか確認するとよいかと。
すべての返信
-
別のコミュニティで、似たような現象の質問を見かけたことがあります。
Visual Studio は IDE 上にツール バーなどのアイテムが設置してあるわけですが、
これが実行時とそれ以外の場合とで分けて管理されています。
実行するとデバッグ実行時のパターンに切り替わるわけです。(フォルトではツール バーが切り替わったりしますよね)これがデバッグ終了後も元に戻らないという現象です。
その方は IDE の設定をリセットしてもダメだったので、再インストールを進めたところ直ったようです。
ところで "デザインは見えない、コーディングは見える" というのがちょっと意味がわからなかったのですが、
"(ある) デザイナは見えない、がそのソースコードはエディタで見ることができる" という意味で捉えました。 -
はずしているかもしれませんが、ご参考まで・・・
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クラスのアイコンが表示されます
このあたりが関係しているかもですね・・・
これが原因だとすると、継承関係をきっちりみなおすか、
名前空間、参照設定を見直すか、プロジェクトのプロパティで、プロジェクトのインポートの名前空間を見直して
意図していないクラスが継承されていないか確認するとよいかと。
-
自分も同じ現象が発生しています。
タイミングはまちまちです。
で、このような現象が発生している時にプロジェクトファイル(.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を修正して開きなおして対応しました。
多分、不具合のような気もするのですが・・・(^^;