[ASP.NET]VisualStudioの内部ブラウザでIE10を使う

| トラックバック(0)

Visual Studioには「内部ブラウザ」が装備されている。これのおかげでASP.NETでWebアプリケーションの動作確認を、アプリケーションを切り替えることなくできるので便利。

ただ、この内部ブラウザ、 HTTPリクエストのUserAgent を見る限りInternet Explorer 7になっている。なので、CSS 3のborder-radiusやtext-shadowのかかり具合を見るためにわざわざIE自体や別のブラウザを開く必要がある。

どうもPC自体にはそれより新しいバージョンのIEが入っていてもWebBrowserコントロールのIEコンポーネントは7.0固定のようだ。

これを、IE10にする方法が分かったのでメモ。


この方法は、WebBrowserコントロールで使われるIEのバージョンを指定する方法の応用。

こちらのページを参考にさせていただきました。

なでしこ製ブラウザWiki - ブラウザ関連/IE9レタリングモード


設定の変更にはレジストリの操作が必要です。レジストリの設定を誤るとコンピュータが正しく動作しなくなる可能性があるので、充分にご注意ください。なお、この設定を適用したことで問題が発生しても責任は負いかねます。


手順1:レジストリで次のキーを開きます。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

この時、 FEATURE_BROWSER_EMULATIONが存在しない場合はキーを新規作成で作成します。


手順2: FEATURE_BROWSER_EMULATIONにDWORD(32ビット値)を以下の設定で作成します。

名前:devenv.exe
値:10000(10進数)

devenv.exeはVisualStudioの実行ファイル名。値はバージョンです。IE9に合わせる場合は9000、IE8なら8000です。インストールされているIEのバージョンよりも大きい値を設定すると、最大のバージョンが適用されるようですが、それで何か起こっても知りません♪

試していませんが、IE 11なら11000で行けそうです。


手順3:Visual Studio を起動します。

ASP.NETのプロジェクトなどで内部ブラウザからアクセスしたUserAgentを見るとMSIE 10.0になっているのが分かります。


レジストリの名前で自作アプリの実行ファイル名を入れれば、WebBrowserコントロールのバージョンを自由に調整できるので便利です。(変更後はアプリケーションの再起動が必要です)

トラックバック(0)

トラックバックURL: /mt/mt-tb.cgi/68