我们有一个基于 .NET 2 Framework (C#) 的小型应用程序,它与 WindowsXP 到 Windows 8 兼容,但只有 32 位(因为我们的构建机器也总是 32 位)。我们现在正在寻求进行一些更改并创建一个 64 位版本。
我现在的问题是,我们是否也应该升级到更新版本的 .NET Framework为未来做好准备,还是我们可以继续使用现有的 .NET Framework 2。
它仍应与 Windows XP 和所有较新的 Windows(32 位和 64 位)兼容。
您可以随时将其升级到框架版本 4,它仍将与以前版本的 windows 兼容。
除此之外,您应该始终使用“任何 CPU”构建 .Net 应用程序。它将生成中间代码,稍后 JIT 编译器将根据正在执行的机器将其编译为 32 位或 64 位架构。
只有当您在 .Net 应用程序中引用任何非托管 dll 时,您才应该关心 CPU 架构。
是的,它仍然与 Windows XP 和所有较新版本的 Windows 兼容。升级到框架 4 后,您必须拥有 windows XP sp 3,否则框架将无法安装。
据我所知,framework 4.5 只能安装在 windows 7 或更高版本上,因此升级到 framework 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 或更低版本。
至于输出平台,我建议这样编译:
对可执行文件使用显式平台是一个很好的原则,因为它对用户来说最不奇怪,并且允许 64 位系统上的用户在需要时运行 32 位应用程序。请参阅此博客文章以获取更长的答案http://blogs.msdn.com/b/rmbyers/archive/2009/06/09/anycpu-exes-are-通常-more-trouble-then-they-re-worth。 aspx