現象
たとえば次のようなシナリオを考えてみます。
- Microsoft .NET Framework 2.0 Service Pack 2 (SP2) または Microsoft ..NET Framework 3.5 Service Pack 1 (SP1) では、BinaryFormatter オブジェクトを使用して、アセンブリ内のジェネリック型をシリアル化および逆シリアル化します。
- アセンブリはサーバーとクライアントの間で共有され、アセンブリには厳密な名前が付いています。
- アセンブリのビルド バージョンは、サーバーとクライアントの間で異なります。
このシナリオでは、アセンブリのストリームを逆シリアル化すると、次のいずれかの例外エラー メッセージが表示されます。
エラー メッセージ 1
注
System.Runtime.Serialization.SerializationException: アセンブリが見つかりません。
エラー メッセージ 2
注
System.IO.FileLoadException: ファイルまたはアセンブリ 'Common、Version=version ID、Culture=neutral、PublicKeyToken=key number、またはその依存関係の 1 つを読み込めませんでした。 見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULT からの例外: 0x80131040) at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) アセンブリを GAC に登録している場合、次の例外が発生します。 System.InvalidCastException: 戻り引数の型が無効です。
メモ
SoapFormatter オブジェクトを使用する場合、この問題は発生しません。
この問題は、シリアル化および逆シリアル化時に FormatterAssemblyStyle.Simple 値を設定した場合でも発生します。
解決策
修正プログラムの置き換えに関する情報
KB960442に対応する修正プログラムは、修正プログラム KB981574に置き換えられました。これには、以前に KB960442 に含まれていたすべての修正が含まれています。 KB960442で説明されている問題を修正するには、修正プログラムKB981574を使用する必要があります。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981574 .NET Framework 3.5 SP1 がインストールされているコンピューターで Excel を起動しようとすると、スプラッシュ画面が通常よりも長く開いたままになる
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
追加情報
ソフトウェア更新プログラムに関する用語の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
824684 Microsoft のソフトウェア更新プログラムの説明で使用される一般的な用語の解説