技术开发 频道

.NET 3.5 SP1 新引入的缺陷

  【IT168 评论】在.NET 3.5 SP1 发布不到一个月的时间内,针对.NET 3.5 SP 1的缺陷报告就开始堆积。虽然缺陷是任何一个发布版本不可避免的一部分,每个公司对他们的回应方式有很大的不同。微软的.NET部门通常要求用户拨打产品支持热线获取热修复程序,一年或者两年才发布一次广泛可用的补丁包。
 
  为了用户之前能正常工作的程序,开发商需要花很大的努力,来找出程序现在无法正常工作的罪魁祸首是微软而不是开发商本身。一旦问题确定下来,仍然需要找出是否有KB文章提到了所需要的热修复程序。如果用户或者开发人员不能马上找到文章,无数个人工就被白白浪费了。
 
  下面是我们所知已经被核实的问题:

序列化
当一个实现ISerializable的泛型类和有一个使用泛型类型参数的静态委托成员,(在32位的Windows Server 2003上)二进制序列化会挂起或者(在64位的Windows Server 2008)会引发OutOfMemoryException异常。

WinForms
在某些情况下用户可以把toolstrips从一个MDI子窗口移动到另一个子窗口。这样的话,假设单击一个文档上的按钮,会产生一个完全不同的反应。

反射
3.5 SP1下ParameterInfo.GetOptionalCustomModifiers和GetRequiredCustomModifiers方法会引发ExecutionEngineException异常。这对方法所具有的缺陷影响到了广受欢迎的框架,Rhino Mocks

WPF
.NET 3.5 SP1 破坏了WPF在IIS下的使用。似乎已经有些人在网站里使用WPF来实时生成图像。可惜,WPF再也不能在IIS下工作了。

类型检查
在某些情况下,在3.5下正常工作的类在3.5 SP1不会传递给PEVerify。这基本上意味着如果你在运行时使用这个类你将得到的是一个类型加载异常。

数字
伪“在检查模式下编译时操作溢出”,这是一个新的C#语义错误检查器(Semantic Error Checker)的缺陷。当ulong.MaxValue减2的时候触发。
0
相关文章