为最低可能的框架版本构建.NET应用程序?

时间:2010-09-13 22:33:17

标签: c# .net visual-studio

我是.NET世界的新手。 我刚刚使用.NET-versionn 4.0构建了我的第一个应用程序,并且想知道如果它仍然适用的话,尽可能地降低目标框架(可能是3.0)是明智的选择。

在选择合适的.NET版本时,最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

如果您的目标是Windows桌面用户,那么您可以非常自信他们至少拥有.NET 2.0且可能更高。但他们不太可能拥有.NET 4。除非您了解受众(例如,商业客户),否则选择.NET 4可能会限制您的覆盖面。

.NET 4引入了第一个真正的平台变化,因为它基于CLR(公共语言运行时)版本4构建。在此之前,.NET 2.0,3.0和3.5都在CLR的第2版上运行

.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 3.5功能添加到.NET 2.0应用程序中,但我还没有使用WPF。

除了Microsoft之外,您无法从任何地方获取WPF程序集,因此无论如何都无法重新分发这些程序集。 Mono项目倾向于使用GTK#作为GUI,尽管Windows Forms也可以跨平台使用。

答案 1 :(得分:1)

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

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

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

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