3

.NET 已成为软件开发人员和消费者中流行的技术。我在想,在 .NET 中开发基于 Windows 窗体的产品是否是一个明智的决定,该产品可以被全世界成千上万的客户下载。真正的问题可能是随着 .NET 版本显着增加的框架安装。

v2.0 安装了不错的 22MB,但最新的 v3.5 超过了 150MB,可以证明是客户的决定性因素。我听说过一些工具可以为 .NET 程序集(例如 ILMerge)进行一种“静态”链接,并且可以用来创建小型的自包含可执行文件,但问题是这些工具可以在生产环境中使用吗?他的 ILMerge 工具是一个研究工具,我认为它从未用于 VS 安装。

我有一个产品要开发,它需要一个非常漂亮的用户界面,可以使用 WPF 支持来完成。但我不确定客户是否愿意为 4MB 应用程序下载 150MB 框架(不确定 v3.0 有多大)。如果我在 .NET 2.0 中开发,我会失去对 WPF 的支持。XP、Vista、Windows 7 是否预装了 .NET 框架?

-- 根据评论更新 --

该应用程序将从网站下载,并且没有可分发的媒体。

  1. 使用 .NET 2.0 - 这不会让我使用 WPF,所以除非我使用一些第三方皮肤工具,否则我会放弃花哨的东西。
  2. 使用客户端配置文件来减少安装- 安装将减少到大约 30 Megs,我将保留 WPF/WCF 支持以及新的框架功能。
  3. 支持的操作系统

      Win 98, ME, 2000 - Full install of Runtime required
      Win XP SP2, SP3, 2003 (I think these have .NET 2.0)
      Vista, 2008 - All version have atleast v3.0
      Windows 7 - v3.5
    
4

8 回答 8

4

Vista 和 Windows 7 预装了各种版本的 .NET 框架:

  • XP - 没有
  • Vista - .NET 3.0
  • 视窗 7 - .NET 3.5

如果您真的担心下载大小,您应该查看客户端配置文件。这是框架的精简版,仅包含对客户端应用程序开发最重要的部分。我相信它的大小约为 30 MB。3.5 中对它的支持不完整。它只适用于 XP 32bit 并且只有在没有安装其他框架版本的情况下才有效,但在 4.0 中看起来要好得多。它现在可以在支持完整 .NET 框架的所有平台上运行,即使它们已经有另一个框架版本并且以可重新分发的形式以及 Web 安装程序出现,请参见此处

除了技术细节之外,您还需要考虑您的目标市场。不同的市场有不同的基线和要求。请记住,如果您在物理上分发媒体,则始终可以将 .NET 安装程序与您的应用程序捆绑在一张 CD 上。我会说在大多数情况下这不应该是一个问题(特别是如果您针对客户资料),我只会担心您针对的是对允许使用的软件有非常严格要求的特定和小型市场部门.

于 2009-09-18T10:34:02.933 回答
3

如果您担心安装的大小,那么我会针对 .Net 2.0 框架而不是 .Net 3.5 框架 - 如果您只是在做一个基本的 Windows 窗体应用程序(没有 WCF、WPF 或 Linq 等),那么 .Net 2.0 框架Net 2.0 框架具有 .Net 3.0 或 3.5 的 90% 的功能,并且它还存在于更高比例的机器上(根据博客为 80%)

在 VS2008 中,我修改了我的项目模板以使其成为默认值。

于 2009-09-18T10:44:57.407 回答
1

对于网络连接速度较慢的用户来说,这肯定是一个问题。一种解决方案是限制开发不使用更新的功能(这就是我所做的),并在应用程序的安装说明网页上提供指向 .NET 2.0 运行时的链接。这适用于 Windows 窗体(尽管无法使用 WPF 和一些较新的语言功能)。

于 2009-09-18T10:46:24.890 回答
1

还有.NET Framework 客户端配置文件预览可以将 .NET Framework 下载大小减少到 28 MB。它包括 WPF。

于 2009-09-18T11:03:53.030 回答
0

大多数时候,我认为这不是决定性因素。我相信,Vista 已经打包了 .NET 3.0。另外,Java 也在同一条船上(需要 JRE),我不知道有任何软件真正遭受过下载 Java 或 .NET 等运行时平台的“开销”。

我坚信最好将这些平台视为事实上的标准;现在有很多应用程序需要它们。您的大多数潜在用户可能已经安装了它们。

于 2009-09-18T10:40:35.340 回答
0

好吧,让我问这个愚蠢的问题。为什么您将自己局限于一个独立的桌面客户端而不是一个 Web 应用程序?您可以使用 Silverlight 做一些花哨的事情。与我一起工作的一位客户在市场上确实有一个独立的客户端,但由于他也需要 Mac 用户,因此最终希望将其移至 Web。

于 2009-09-18T10:51:21.533 回答
0

让它如此美妙的客户会下载一个 1GB 的框架:)。

现在说真的,因为 XP 和所有以上版本都预装了 .NET,你还在担心什么?

您现在可以只针对 .NET 2.0(除非致力于 WPF),然后在 3.5 获得足够的普及度之后,切换。

于 2009-09-18T11:01:19.953 回答
0

如果不需要离线安装 .NET,则可以使用在线安装程序,实际下载大小将低于 60 兆(取决于已安装的大小)。

于 2009-09-18T11:17:14.377 回答