1

最初它设置为使用.Net3.5 以兼容win7。(实际使用WPF)

但是对于支持.Net4.0的win8用户,需要用户下载安装.Net3.5,导致用户体验非常糟糕。

我的问题来了:

如何使软件与多个 .Net 版本兼容?

实际上,我尝试使用 .Net 2.0 作为软件,它与 win7 和 win8 都很好。然而,当谈到 .Net 3.5 时,向后兼容性似乎很糟糕。但是我确实需要 3.5 或 WPF 中提供的一些功能。

我不介意我是否必须构建多个二进制版本,只要提供自动选择机制。

PS 我在Make same app compatible for Net3.5 & 4.0@stackoverflow中发现了一个类似的问题,但阅读后没有任何帮助。

编辑

我正在使用winform和WPF。我正在使用 WPF 来获得更好看的 UI,但是众所周知,WPF 中的网络浏览器无法在 WPF 应用程序中呈现。所以我使用了一个winform webbrowser。

4

2 回答 2

1

确保您不使用未包含在目标最低版本中的类型!

.NET 2、3 和 3.5 都共享相同的 CLR,这应该对您的代码和预期结果产生相同的影响。3.0 和 3.5 也有不同的类型,所以要小心。

.NET 4.0 具有不同的 CLR,您的代码可能不会 100% 以与 CLR 2.0 相同的方式运行。

但是,为什么不附带可再发行的 4.0 框架。它适用于 XP sp3、Vista sp1、7 和 8。 使用应用程序分发 .NET 4.0 可再分发

于 2013-04-18T09:03:13.607 回答
1

如果您正在制作一个普通的 WPF 桌面应用程序,只需将您的目标框架移动到 .Net 4 并完成它。Windows 7 和 Windows 8 完全支持 .Net 4。如果您不想让用户下载安装 .Net 4,请将其包含在您的安装分发中。

于 2013-04-18T12:19:06.130 回答