需要从.net 2升级到更新的版本

本文关键字:更新 版本 2升 net | 更新日期: 2023-09-27 18:11:14

我们有一个基于。net 2框架(c#)的小应用程序,它兼容WindowsXP到Windows 8,但只有32位(因为我们的构建机器也一直是32位)。我们现在正在寻找做一些改变,也创建一个64位版本现在。

我现在的问题是,我们是否也应该升级到一个新版本的。net Framework为未来做好准备,或者我们可以继续使用我们现有的。net Framework 2。

它应该仍然与Windows XP和所有更新的Windows(32位和64位)兼容。

需要从.net 2升级到更新的版本

您可以随时将其升级到第4版框架,它仍将与以前版本的windows兼容。

除此之外,你应该总是用"任意CPU"构建。net应用程序。它将生成中间代码,然后JIT编译器将其编译为32位或64位体系结构,具体取决于正在执行的机器。

只有当你在。net应用程序中引用任何非托管的dll时,你才应该关心CPU架构。

是的,它仍然与windows XP和所有更新版本的windows兼容。如果要升级到框架4,你必须安装windows XP sp 3,否则框架将无法安装。

据我所知,框架4.5只能安装在windows 7或更高版本上,所以升级到框架4.5可能不是你的选择。

升级到。net 3.5或4.0应该不会有什么问题,缺点是安装这个框架的人会更少,好处是你可以得到一个更好的CLR,并且可以使用一些新的语言特性。

如果你不打算改变应用程序的源代码,你不会利用任何新的语言特性,你只会为最终用户添加一个新的依赖项(更新的框架)。在这种情况下,我看不出从2.0到4.0有什么意义。

如果你打算继续开发应用程序,那么我强烈建议你升级到3.5或4.0,以获得这些框架中的新特性,最重要的是LINQ。

请注意,4.5框架与Windows XP不兼容,所以如果你想保持与XP的向后兼容性,你不能升级到4.5。只要你需要以XP为目标,你就只能使用4.0或更低的版本。

对于输出平台,我建议这样编译:
  • 带有本地依赖的程序集:显式编译x86和x64。
  • 入口点程序集(.exe的基本):显式编译x86和x64。
  • 所有其他程序集:编译为AnyCPU.

为可执行文件使用显式平台是一个很好的原则,因为这对用户来说是最不奇怪的,并且允许64位系统上的用户运行32位应用程序,如果他们愿意的话。更详细的答案请参阅这篇博文http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx