2010-09-13 56 views
1

我是.NET新人。 我刚刚用.NET-versionn 4.0构建了我的第一个应用程序,并且想知道是否明智地选择了尽可能降低目标框架(可能为3.0),如果它仍然有效。构建.NET应用程序总是尽可能低的框架版本?

什么是最佳实践,当涉及到选择适当的.NET版本?

+2

谁是你的目标用户群? – 2010-09-13 22:35:40

+1

关于你想要做什么的一点背景也会有帮助。例如,如果您想使用Windows Presentation Framework,则必须至少使用3.0(但我会推荐3.5)。 – Skurmedel 2010-09-13 22:37:46

回答

2

如果你的目标是Windows桌面用户,你可以非常确定他们至少有.NET 2.0,可能更高。他们不太可能拥有.NET 4。除非您了解受众(例如,商业客户),否则选择.NET 4可能会限制您的覆盖范围。由于它基于CLR(公共语言运行时)版本4构建,因此.NET 4在一段时间内引入了第一个真正的平台更改。在此之前,.NET 2.0,3.0和3.5都运行在版本2的第2版上CLR。

.NET 2.0,3.0和3.5的唯一区别在于框架(库)。大多数库不变,但每个版本都添加了新库。这取决于你使用的库。如果您在应用程序中包含所需的所有库,那么您可以运行.NET 3.5在.NET 2.0上可以执行的任何操作。

如果您需要一种将.NET 3.5时代库分发给.NET 2.0用户的合法方式,则可以从Mono Project运送某些程序集。

例如,您可能会发现您需要的唯一.NET 3.5程序集是System.Core.dll。如果您的应用程序中包含Mono版本的System.Core.dll,即使您使用“.NET 3.5”功能(例如LINQ),它也可以在.NET 2.0及更高版本上正常运行。

如果您使用的是ASP.NET,那么它们的功能并不重要,因为您只是给它们提供HTML。

编辑:我不知道Windows Presentation Foundation(WPF)需要一个服务运行。我已经使用Mono为.NET 2.0应用程序添加.NET 3.5功能,但我没有使用WPF。

你不能从任何地方获得WPF程序集,但微软虽然所以你不能重新分配这些。 Mono项目倾向于将GTK#用于GUI,尽管Windows Forms也可以跨平台使用。

+0

“如果您在应用程序中包含所需的所有库,那么您可以运行任何.NET 3.5可以执行的操作。 NET 2.0“:不幸的是,这并不容易。它可能适用于某些组件,但这只是纯粹的运气。一般来说,您必须运行.NET Framework安装程序才能正确设置所有设置。例如。要使用WPF,您必须运行一项服务。 – 2010-09-13 22:50:52

1

选择要支持的框架版本主要是您的目标用户组的问题。

  • 如果你正在开发一个 企业环境的工具,你可能会 由 的 公司支持的默认配置(有时 可能是一个版本或两个背后的框架版本的限制 最新版本) - 或者你很幸运 和IT部门愿意 升级他们的平台到最新的 版本。

  • 如果你的目标家庭用户,你 应该考虑到不是每个人都 已经有安装了最新的框架 版本,而不是每一个用户 愿意下载和安装一个 新版本只是为了使用您的工具。所以 你需要考虑是否允许 忽略这些用户。

当然,您可以随时在您的设置中包含最新版本,但不要忘记框架安装需要管理权限。

相关问题