inohilog

/var/log/inohiro

VS08のバグっぽいのみっけ!

Visual Studio 2008 Beta2 (英語版)を使って遊んでるんですが、バグっぽいのを一個みつけました。Known Issue(既存の問題)にちゃんと目を通していませんが、既に報告されている問題かもしれません。

再現方法

マスタページを作る。マスタページを作ると、デフォルトで「head」と「ContentPlaceHolder1」というContentPlaceHolder()がコードに書かれてる。


次に今作ったマスタページを参照するaspxページを作る。適当にマスタページに文字をかいて、aspxページから動作を確認。その後マスタページに新しいContentPlaceHolderを手動で(コードを書いて)追加する。aspxページにそのContentPlaceHolderに流し込むConten()タグを追加。


デザインを確認するためにデザインビューを表示するが、「”マスタページの中のContentPlaceHolder ID”と”Contentタグで指定しているContentPlace ID”が一致してないものがあるよ」っていうエラーが出る。そんなはずはねー!ってことで実行するとコンパイルエラーも出ないで普通に実行できる。


しかしIDEでデザインが確認できないのは意味が分からないので、ソリューションを一度閉じる。で開き直すとデザインビューつかえる。


//バグかなー。既出かなー。

追記

aspxページにContentタグを追加するときに、Splitビューで表示しながら追加すると発生する。
Design、もしくはCodeビューで追加した場合は発生しない。

コードを追加した後のDesignビューの更新ができてないから発生するような気がする。だからソリューションを開き直せば更新されるのね。でもDesignとCodeを切り替えたときに読み込んでないみたいですね。

VS2008からSplitビューの機能とこのDesignとCodeの切り替えが高速になった!ってのがありますが、どっかにキャッシュしてるみたいですね。でContentを追加した後にそれが読み直されてないから「一致しない」ってエラーが帰ってくるのでは、と勝手に推測。