.net - 如果安装了 .Net 4.5,如何保持 .Net 4.0 的行为?

标签 .net .net-4.5

我们有一个面向 .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/

相关文章:

c# - 关于异步 lambda 类型推断的错误 C# 编译器错误消息

c# - 将分钟转换为毫秒

.net - 如何选择正确的 "network place"图标?

c# - 根据文本框的值动态更改标签的值 c# windows form

c# - 本地获取 Chrome 和 Firefox 版本,C#

c# - 引发事件似乎已经改变

c# - 异步编程中的悬挂等待和可能的内存泄漏

.net - 如何使用 .Net 应用程序和 SQL 查询访问大型机数据?

c# - 使用 C# 的 SOAP

c# - 在纯 XAML 中,是否可以动态选择字符串格式?