我们有一个面向 .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 则不能。
我们这边有一个错误;我们没有任何充分的理由给它一个封闭的句柄,所以我们只会修复它......直到我们发现另一个错误......
最佳答案
But is there a setting we can turn on to keep the old behavior until we are ready to use .Net 4.5?
不是。.NET 4.5 是 .NET 4 的就地替代品。安装它后,您实际上是在新框架上运行。
一般来说,它应该是完全向后兼容的,但有一个 few breaking changes .
不幸的是,这意味着如果您想支持在安装了 4.5 和未安装 4.5 的机器上运行,您(和其他所有人)将需要在两个框架上测试和修复问题。幸运的是,重大更改通常都是不寻常的边缘情况,因此在大多数情况下不太可能影响大多数用户。
关于.net - 如果安装了 .Net 4.5,如何保持 .Net 4.0 的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458159/