この記事では、Microsoft .NET Framework 4.6 で使用できる修正プログラム ロールアップ 3088956について説明します。 修正プログラムのロールアップで修正される問題の詳細については、「この修正プログラム ロールアップで修正される問題」セクションを参照してください。
解決方法
サポートされている修正プログラムが Microsoft から入手できるようになりました。 ただし、この記事で説明する問題のみを修正することを目的としています。 この特定の問題が発生しているシステムにのみ適用します。この問題を解決するには、Microsoft カスタマー サポート サービスに問い合わせて修正プログラムを入手してください。 Microsoft カスタマー サポート サービスの電話番号とサポート コストに関する情報の完全な一覧については、次の Microsoft Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support注 特殊なケースでは、サポート呼び出しに通常発生する料金は、Microsoft サポート Professional によって特定の更新によって問題が解決されると判断された場合に取り消される可能性があります。 通常のサポート コストは、特定の更新プログラムに該当しない追加のサポートの質問や問題に適用されます。
詳細情報
必要条件
この修正プログラムを適用するには、.NET Framework 4.6 がインストールされている必要があります。
再起動の必要性
影響を受けるファイルが使用されている場合は、この修正プログラムを適用した後、コンピューターを再起動する必要があります。 この修正プログラムを適用する前に、すべての.NET Framework ベースのアプリケーションを閉じてお勧めします。
修正プログラムの置き換えに関する情報
この修正プログラム パッケージでは、以前にリリースされた修正プログラム パッケージは置き換えられません。
この修正プログラム ロールアップで修正される問題
問題 1 RyuJit が無効になっている .NET Framework 4.6 プラットフォームの .NET Framework 4.6 または AMD64 バージョンの 32 ビット バージョンで実行されている ASP.NET Web サイトがある場合は、未処理の ThreadAbortException が原因で w3wp クラッシュが発生する可能性があります。 クラッシュが発生すると、Windows イベント ログに次のログが表示されます。
未処理の例外が発生し、プロセスが終了しました。アプリケーション ID: [ApplicationID]Process ID: [ProcessID]Exception: System.Threading.ThreadAbortExceptionMessage: スレッドが中止されました。StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
問題 2 WCF ルーティング サービスを使用して WCF サービスに接続する WCF クライアントがあることを確認します。 エンド サービスで、FaultException の種類または構成の変更ではない予期しない例外が発生した場合、WCF ルーティング サービスは後続の要求をエンド サービスにルーティングしない可能性があります。この問題が発生すると、次の例外が発生します。
System.ServiceModel.ProtocolException: このチャネルは、サーバーによって開始されたシャットダウンのために出力セッションが自動終了したため、メッセージの送信に使用できなくなりました。 DispatchRuntime.AutomaticInputSessionShutdown を false に設定して自動終了を無効にするか、リモート サーバーでシャットダウン プロトコルを変更することを検討してください。
スタック トレース情報:at System.ServiceModel.Channels.ServiceChannel.PrepareCall(ProxyOperationRuntime 操作, Boolean oneway,ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.Begin()at System.ServiceModel.Channels.ServiceChannel.BeginCall(String action, Boolean oneway, ProxyOperationRuntime 操作, Object[] ins, TimeSpan timeout, AsyncCallback コールバック, Object asyncState)at System.ServiceModel.Channels.ServiceChannelProxy.InvokeBeginService(IMethodCallMessage メソッドCall, ProxyOperationRuntime 操作)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)at System.Runtime.Remoting.Proxys.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)at System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RequestReplyClient.OnBeginOperation(Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult.CallOperation()at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.OperationAsyncResult..ctor(RoutingClientBase'1 parent, Message requestMessage, Transaction transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ClientFactory.RoutingClientBase'1.BeginOperation(Message message, Transaction transaction, AsyncCallback callback, Object state)at System.ServiceModel.Routing.ProcessRequestAsyncResult'1.StartProcessing()at System.ServiceModel.Routing.ProcessRequestAsyncResult'1..ctor(RoutingService service, メッセージ メッセージ、AsyncCallback コールバック、オブジェクトの状態)at System.ServiceModel.Routing.RoutingService.BeginProcessRequest[TContract](Message message, AsyncCallback callback, Object state)at System.ServiceModel.Routing.Routing.System.ServiceModel.Routing.IRequestReplyRouter.BeginProcessRequest(Message message, AsyncCallback callback, Object state)at AsyncInvokeBeginBeginProcessRequest(Object , Object[] , AsyncCallback , Object )at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeBegin(Object instance, Object[] inputs, AsyncCallback callback, Object state) Issue 3これは、新しい Georgian Lari シンボルをサポートするための更新です。 ジョージア州の国では、Lari に新しい通貨記号が導入されましたが、通貨名は変更されません。 新しい通貨記号も Unicode 標準に追加されました。 この更新により、システム ロケールの設定に基づいて、.NET Frameworkによって正しい通貨記号が表示されます。問題 4 Parallel.ForEach 呼び出し中に Gen2 コレクションが発生した場合、Visual Studio 2015 または Visual Studio を使用しない.NET Framework 4.6 をインストールした後に長いハングが発生する可能性があります。解決策:この更新プログラムは、この問題に起因するシステムのフリーズを解決することでガベージ コレクターを更新します。問題 5 .NET Framework 4.6 をインストールすると、DateTime.Parse メソッドと Date.TryParse メソッドが正しく動作しません。 この問題は、次のカルチャ設定で発生する可能性があります。
-
fi-FI
-
nb-NO
-
nb-SJ
-
sr-Cyrl-XK
-
sr-Latn-ME
-
sr-Latn-RS
-
sr-Latn-XK
Resolution:この更新により、DateTime.Parse と Date.TryParse が、同じ日付と時刻の区切り記号を使用するカルチャで正しく機能します。問題 6 .NET Framework 4.6 をインストールした後、.NET Framework 4.6 では RyuJIT と呼ばれる新しい 64 ビット コンパイラが使用されます。 場合によっては、新しいコンパイラによって正しくないコードが生成され、予期しない動作やクラッシュが発生します。 解決策:この更新プログラムは、RyuJIT コンパイラの多くの問題を修正します。 この更新プログラムのインストール後もアプリケーションが予期しない動作を引き続き行う場合は、追加の詳細なトラブルシューティング ガイダンスを参照してください。手順: リンクのトラブルシューティング手順に従って、RyuJIT が問題に関与している可能性があると判断された場合は、 http://connect.microsoft.com で問題をログに記録してください。 レポートにできるだけ詳細を含め、問題を再現するためのコードも含めます。