トップ回答者
.NetFramework4.0でのIE10以降の認識について

質問
-
お世話になっております。
IE、.NetFrameworkともに初心者です。下記サイトにて.NetFramework4.0が新しいバージョンのIEを正常に認識できない可能性があることが報告されております。
https://support2.microsoft.com/kb/2600088/ja?wa=wsignin1.0
こちらの現象について詳細をご存知の方がいらっしゃいましたら情報をいただけませんでしょうか。
① 上記サイトの修正プログラムを適用すると、.NetFramework4.0はIE10、IE11が認識可能になるのか。(またはIE10だけか)
② 今後、IE12以降がリリースされた場合には新たに修正プログラムを適用する必要があるのか。(そもそもリリースされるのかわかりませんが…)
③ .NetFramework4.5では今後リリースされるIEが正常に認識できないなどの問題は発生しないのか。
初歩的な質問となってしまうかもしれませんが何卒、よろしくお願い致します。
回答
-
> 修正PTについては、ご提示いただいたサイトで紹介されている修正プログラム(2600088)を想定しております。
> WindowsUpdateでの対応は.NetFramework4.5へのバージョンアップでは無く、.NetFramework4.0 向
> けにリリースされている修正PTを全て適用すれば、本現象は改善されるという認識でお間違いござ
> いませんでしょうか。それはちょっと自分にはわかりかねます。
自分は Windows Update でしか対応してませんし、そもそも質問者さんの環境・問題をすべて把握しているわけではありませんので。
少なくとも KB2600088 だけでは、.NET 4 の IE10 にしか対応していないようですので、解決しなそうだということが言える程度です。
それゆえ「Windows Update で対応することをお勧めします。」と言ったのですが・・・
【追伸】
運用中のサーバーなので極力 Update による影響を避けたい(Windows Update はかけたくない)、問題は ASP.NET 4 Web アプリのブラウザ判定だけでこれさえ解決すればすべて OK ということであれば、先に提示したページ「ASP.NET の IE10 対応について」に書いてある対処方法 4 「アプリケーションに IE10 対応のブラウザ定義を加える」がいいと思います。
- 編集済み SurferOnWww 2014年10月7日 3:55 追伸追加
- 回答としてマーク haruxxx 2014年10月7日 4:24
-
> 検証環境では再現出来なく困っておりました。
「検証環境」とはサーバーとは別の開発マシンのことですか? であれば、Windows Update がかかってブラウザ判定が正しくできるようになっているのではないですか?
> 対処方法4で対応の方向ですすめさせていただきたいと思います。アプリケーション・ルート直下に App_Browsers フォルダを設け、その中に IE10, IE11 用の .browser ファイルを配置すればいいはずです。
ASP.NET 4 用のブラウザ定義は、開発マシンでブラウザ判定が正しくできているのであれば、開発マシンの Browsers フォルダの ie.browser ファイル(先に紹介した「ブラウザ定義ファイル」の画像を参照)の中に IE10, IE11 用のものがあるはずなので、それをコピーして使えると思います。
- 回答としてマーク haruxxx 2014年10月7日 8:12
すべての返信
-
どうも質問文を読む限り問題を正しく理解されているのかわかりませんでしたので、まずはこの問題について説明しておきます。
WebサーバーがASP.NET 2.0~4.0で構成されているページをInternet Explorer 10以降で閲覧した際に発生する問題です。
#このことを理解していれば質問文にASP.NETの語が入りそうに思います。詳細は語られていませんがバージョン番号が2ケタになったことでバージョン判定をミスることが原因と勝手に推測しています。
.NET 4.5では修正済みで、IE12以降にも対応していると思います。
-
佐祐理 様
ご返信をいただきましてありがとうございます。申し訳ございません。ご指摘の通り、問題の詳細について理解が不足していると思います。
.Net4.5ではIE12以降の新しいバージョンがリリースされても対応出来る可能性が高い事、承知致しました。
いただいた内容からですと、リンク先の修正PTをASP.NET2.0~4.0で構成されたページを提供しているサーバーへ適用すれば、IE11以降を利用している端末からのアクセスでも正常に認識できるという認識でお間違いございませんでしょうか。
※ASP.NET2.0~4.0で作られたページにアクセスした際に、.NetFrameworkが正常にIEを判定出来るようになる(2桁に対応)ので、 IE11以降の判定も正常に行われるかと考えました。
ご面倒をお掛けいたしまして申し訳ございません。
御教示いただけますでしょうか。 -
↓ この話ですよね? IE11 でも同様な問題があったようです。
ASP.NET の IE10 対応について
http://blogs.msdn.com/b/d99/archive/2013/08/02/10438994.aspxであれば、これ専用のパッチを当てるのではなく、Windows Update で対応することをお勧めします。
【追伸】
正しく修正されたかどうかは、ブラウザ定義ファイルを見ても分からないので注意してください。
ブラウザ定義ファイル
http://surferonwww.info/BlogEngine/post/2014/03/04/browser-definition-files.aspx
確実なのは HttpBrowserCapabilities オブジェクトを調べることだと思います。HttpBrowserCapabilities クラス
http://msdn.microsoft.com/ja-jp/library/system.web.httpbrowsercapabilities(v=vs.110).aspx方法: ASP.NET Web ページでブラウザーの種類とブラウザー機能を検出する
http://msdn.microsoft.com/ja-jp/library/3yekbd5b(v=vs.100).aspx【追伸2】
ところで、質問者さんの社名が出てしまっているのですが大丈夫ですか? 余計なお世話でしたら失礼しました。
- 編集済み SurferOnWww 2014年10月7日 3:32 追伸追加
-
SurferOnWww 様
ご返信ありがとうございます。修正PTについては、ご提示いただいたサイトで紹介されている修正プログラム(2600088)を想定しております。
WindowsUpdateが推奨との事、承知致しました。
実は運用中のサーバーへの適用を想定しておりまして、出来る限り環境を変更したくないと考えております。
この場合、WindowsUpdateでの対応は.NetFramework4.5へのバージョンアップでは無く、.NetFramework4.0向けにリリースされている修正PTを全て適用すれば、本現象は改善されるという認識でお間違いございませんでしょうか。色々とご助言をいただきましてありがとうございます。
よろしくお願いいたします。 -
> 修正PTについては、ご提示いただいたサイトで紹介されている修正プログラム(2600088)を想定しております。
> WindowsUpdateでの対応は.NetFramework4.5へのバージョンアップでは無く、.NetFramework4.0 向
> けにリリースされている修正PTを全て適用すれば、本現象は改善されるという認識でお間違いござ
> いませんでしょうか。それはちょっと自分にはわかりかねます。
自分は Windows Update でしか対応してませんし、そもそも質問者さんの環境・問題をすべて把握しているわけではありませんので。
少なくとも KB2600088 だけでは、.NET 4 の IE10 にしか対応していないようですので、解決しなそうだということが言える程度です。
それゆえ「Windows Update で対応することをお勧めします。」と言ったのですが・・・
【追伸】
運用中のサーバーなので極力 Update による影響を避けたい(Windows Update はかけたくない)、問題は ASP.NET 4 Web アプリのブラウザ判定だけでこれさえ解決すればすべて OK ということであれば、先に提示したページ「ASP.NET の IE10 対応について」に書いてある対処方法 4 「アプリケーションに IE10 対応のブラウザ定義を加える」がいいと思います。
- 編集済み SurferOnWww 2014年10月7日 3:55 追伸追加
- 回答としてマーク haruxxx 2014年10月7日 4:24
-
SurferOnWww 様
度々のご回答ありがとうございます。KB2600088は.NET4.0のIE10のみへの対応になってしまうこと承知致しました。
また、対処方法4のご提示についてもありがとうございます。
私の知識レベルが低く、理解出来るか不安ではございますが内容を確認させていただきたいと思います。今回はASP.NETのブラウザ判定が正常に行われない事のみが解決できれば良いと考えております。
本番と同様の環境を作成したかったのですが、常に発生する現象では無いようで、検証環境では再現出来なく困っておりました。SurferOnWww 様、佐祐理 様 貴重なご意見をいただきまして誠にありがとうございました。
ひとまず、対処方法4で対応の方向ですすめさせていただきたいと思います。お手数をお掛けしまして申し訳ございませんでした。
-
> 検証環境では再現出来なく困っておりました。
「検証環境」とはサーバーとは別の開発マシンのことですか? であれば、Windows Update がかかってブラウザ判定が正しくできるようになっているのではないですか?
> 対処方法4で対応の方向ですすめさせていただきたいと思います。アプリケーション・ルート直下に App_Browsers フォルダを設け、その中に IE10, IE11 用の .browser ファイルを配置すればいいはずです。
ASP.NET 4 用のブラウザ定義は、開発マシンでブラウザ判定が正しくできているのであれば、開発マシンの Browsers フォルダの ie.browser ファイル(先に紹介した「ブラウザ定義ファイル」の画像を参照)の中に IE10, IE11 用のものがあるはずなので、それをコピーして使えると思います。
- 回答としてマーク haruxxx 2014年10月7日 8:12
-
佐祐理さん>
> SurferOnWwwさんの提示されているブラウザ定義ファイルの編集はお勧めではないようです。
「ブラウザ定義ファイルの編集」をお勧めしているのではなくて、上のレスに書きましたように、IE10, IE11 用のブラウザ定義(.browser ファイル)を、アプリケーション・ルート直下に App_Browsers フォルダを設け、その中に追加することをお勧めしています。
v4.0.30319\Config\Browser\ie.browser の中身を書き換えても意味がないようです。ASP.NET はその「ブラウザ定義ファイル」は判定に使っておらず、System.Web.dll の中に持っているブラウザ判定ルーチンを使っているそうですので。(ie.browser を書き換えた後、aspnet_regbrowsers.exe /i コマンドで定義ということが必要になるそうですが、多分それも質問者さんはやりたくないと思っています。上に書いた方法なら、何か問題が起きたときに元に戻すのは簡単ですので)
もちろん一番のお勧めは最初に書いたように Windows Update ですが、それは避けたいそうなのでやむを得ません。
- 編集済み SurferOnWww 2014年10月7日 5:47 一部追記