我们有一个面向 .Net Framework 4.0 的 Windows 窗体应用程序。安装 .Net Framework 4.5 后,应用程序开始崩溃。我们必须调查崩溃事件,并且很可能必须修复我们这边的问题。但是,在我们准备好使用 .Net 4.5 之前,是否可以打开一个设置来保留旧行为?
2012 年 7 月 12 日更新:我们发现导致应用程序崩溃的重大更改:给定一个 System.Threading.Timer,当使用已关闭的句柄调用 Dispose(WaitHandle) 时,Timer 会尝试向 WaitHandle 发出信号,从而引发异常。 Timer 的 .Net 4.0 实现可以容忍这一点,但 4.5 则不然。
我们这边有一个bug;我们没有任何充分的理由给它一个封闭的句柄,所以我们只会修复它......直到我们发现另一个错误......
但是,在我们准备好使用 .Net 4.5 之前,是否可以打开一个设置来保留旧行为?
不会。.NET 4.5 是 .NET 4 的就地替代品。安装它后,您就可以有效地在新框架上运行。
一般来说,它应该是完全向后兼容的,但是有一个一些重大变化 http://msdn.microsoft.com/en-us/library/hh367887%28v=vs.110%29.aspx.
不幸的是,这意味着如果您想支持在安装了 4.5 和未安装 4.5 的计算机上运行,您(和其他人)将需要测试并修复这两个框架上的问题。幸运的是,重大变化通常都是不寻常的边缘情况,因此在大多数情况下不太可能影响大多数用户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)