リリース後まだ1ケ月もたっていない中、.NET 3.5 SP 1のバグレポートはたまり始めている。すべてのリリースにおいて、バグは避けられない部分ではあるが、それに対する企業の対応方法は大きく異なっている。 通常Microsoftの.NET部門は、 具体的なホットフィックスを受けるために、ユーザに製品サポートに電話をかけさせ、1年に1、2度しかシップされない、広範囲にわたって利用可能なサービ スパックを提供される。
以前プログラムに関わっていたユーザにとって、ベンダーとういよりはむしろMicrosoftが原因であると分かるまでに、多大な労力を要する。そして いったんそれが分かると、どのKBの記事が、必要とされているホットフィックスを参照しているのかを判断する必要がある。ユーザおよび/またはデベロッパ が、即座にそれを判断できない場合、膨大な工数が無駄になる可能性がある。
以下は、われわれが検証した問題のリストである。
直列化
汎用クラスがSerializableを実装し、汎用タイプ引数を使用する静的デリゲートメンバーがある場合、バイナリ非直列化は(Windows Server 2003の32ビットのシステム上で)停止する、もしくは(Windows Server 2008の64ビットのシステム上で)OutOfMemoryExceptionをスローする。
問題 361615(リンク)
WinForms
状況次第では、ユーザはMDI子Formから別のそれにtoolstripをドラッグすることができる。あるドキュメント上でクリックしたら、全く別のドキュメントが反応することに似ている。
問題 361894(リンク)
リフレクション
ParameterInfo.GetOptionalCustomModifiers付きのExecutionEngineExceptionおよび3.5 SP1のGetRequiredCustomModifiers一組のメソッドにおけるこのバグは、人気の高いフレームワークであるRhino Mocks(リンク)に影響を及ぼしている。
問題 361606(リンク)
WPF
IISの下で、.NET 3.5 SP1はWPFの使用を中断する。WPFを使用して、Webサイト向けにリアルタイムでイメージを生成したと思われる。残念ながら、ISSの下ではもはやWPFは機能しない。
問題 361469(リンク)
型のチェック
ある状況において、3.5 SP 1で実行された場合、3.5で動作するクラスがPEVerifyを受け渡さない。これは、本質的にランタイムでクラスを使用しようとした場合、型ロード例外となること意味する。
問題 361539(リンク)
数値
偽の「抑制されたモードで、コンパイル時に操作がオーバーフローします」。これはC#向けの新しいSemantic Error Checkerにおけるバグである。ulong.MaxValueから2を減算するときに、発生する。
問題 361823(リンク)