5

在了解在 .Net 中进行开发的情况之前,我有几个新手问题:

  1. 非管理员用户能否安装 .Net 框架,无论是原始包还是运行程序所需的任何后续更新?我们的一些客户锁定了 XP/Vista 主机,当我们上传需要使用最新 ServicePack 更新他们的 .Net 框架版本的新版本时,我担心安装/更新他们的计算机

  2. 常规 Joe 硬件的性能是否可以接受(即不需要最新最好的高级用户硬件)?我们的应用程序是用户全天打开的业务应用程序,因此 .Net 应用程序的启动时间是否比其 Delphi 或 VBClassic 等效应用程序花费更多时间并不重要,但一旦 .Net 框架启动并且性能相当跑步?

  3. 如果性能显然不如例如。编译的 Delphi 应用程序,是否有已知的、可靠的方法来加快速度?

  4. 由于我习惯用 Python 编写脚本,IronPython 是否与其他 .Net 语言相提并论,或者它更像是一种爱好语言,我应该前往 VB.Net?


进一步的问题:

  1. 我应该使用哪个 IDE?MS的VisualStudio?夏普发展?其他?为什么?
  2. 是什么让 Mono 在 Windows 桌面应用程序中比 .Net 更好?
  3. 在应用程序中,如何检查用户是否拥有正确版本的 .Net 框架和任何所需的 ServicePack?如果不需要,我想避免打包所需的 .Net 框架(即,如果它没有安装并且用户有足够的管理员权限,请在恢复运行我的应用程序之前下载并安装它)
  4. 如果用户登录时没有足够的管理员权限来安装 .Net 和/或任何所需的 ServicePack,会发生什么情况?有没有明显的错误信息,让非技术人员也能分辨出问题所在?
  5. .Net 向下兼容,即。为 2.0 编译的应用程序可以在 3.5 上运行,还是存在棘手的不兼容问题,因此建议安装用于编译应用程序的 .Net?

感谢您的任何反馈。

4

7 回答 7

4

非管理员用户能否安装 .Net 框架,无论是原始包还是运行程序所需的任何后续更新?

一般来说,没有。对于开发,您肯定需要安装框架才能使用大多数工具,并且您需要管理访问权限。也就是说,有一些技术变通方法使您能够部署单个应用程序,而无需在目标计算机上安装 .NET 框架。

常规 Joe 硬件的性能是否可以接受(即不需要最新最好的高级用户硬件)?

是的,非常如此。

如果性能显然不如例如。编译的 Delphi 应用程序,是否有已知的、可靠的方法来加快速度?

有大量可用的自省、分析和优化工具——CLR Profiler、dotTrace、Reflector 等等。有点争议,因为大多数 .NET 程序都与它们的对应程序相当(或优于),如上所述。

由于我习惯用 Python 编写脚本,IronPython 是否与其他 .Net 语言相提并论,或者它更像是一种爱好语言,我应该前往 VB.Net?

尽管实现相对成熟并且已经达到“它只是工作”的阶段,但支持 IronPython 的工具不如 .NET 家族中的其他语言那么健壮。对于初学者,您可能想尝试 C# 只是为了让您的脚湿透,因为工具集将得到很好的开发,并且您将有很多示例可以继续。也就是说,我经常在生产项目中使用 IronPython 和 IronRuby。好东西!

于 2009-10-27T11:43:46.747 回答
2
  1. 这取决于用户的权限。对于更新,还有一种称为ClickOnce的技术,它可以加快您的程序所需的任何版本控制,并为您提供无数关于如何运行程序的权限集。(另外请注意,Vista 已经安装了 .NET2.0,只是一些 XP 机器不会,但是您可以通过 windows 更新获得它 - 这里的安装取决于用户权限,而不是 .NET persay)
    1. 是的,非常如此。与任何事情一样,垃圾进,垃圾出。然而,.NET 是一种托管语言,并且具有垃圾收集功能,它可以让您在开发过程中完成大量工作。
    2. 不适用
    3. 第一次误解了这一点。就个人而言,IronPython 已经存在并且正在工作,但学习可能比 VB.NET/C# 之类的东西更难

希望这可以帮助。

于 2009-10-27T11:33:08.390 回答
2
  1. 不可以。系统文件需要修改,因此框架本身只能由特权用户安装。不过,在 .NET 上运行的应用程序不需要特殊权限即可安装或更新。

  2. .NET 应用程序的性能对于业务应用程序来说并不是真正的问题。是的,它们与 Delphi、VB pre .NET 和 Java 相当。

  3. 与任何应用程序相同:分析和优化。考虑到可以(并且默认情况下)存储在实际可执行文件中供分析器使用的元数据量,分析 .NET 应用程序实际上非常容易。

  4. 真的没有评论,因为我没有使用过这三个中的任何一个。

于 2009-10-27T11:34:32.177 回答
1

IronPython 没有与 C# 和 VB 相同级别的支持。尽管如此,它仍然运行得非常好,如果你喜欢 Python,那是一个胜利。

于 2009-10-27T11:40:50.510 回答
0
  1. 我认为您确实需要管理员权限才能安装框架。但是当前的 XP 和 Vista 都应该带有 2.0 版的框架,这是新应用程序的一个很好的目标。

  2. 除图形密集型游戏外,其他所有游戏的性能都可以接受。

  3. 真的不需要。

  4. 您可以使用 IronPython 进行应用程序开发,而且我知道至少有一家商业商店可以这样做 ( http://www.resolversystems.com/ ),但我会推荐 C# 或 VB.NET。就个人而言,我喜欢 Delphi Prism ( http://www.embarcadero.com/products/delphi-prism )。如果您喜欢德尔福,也许这就是要走的路?

于 2009-10-27T11:40:31.587 回答
0

回答你的一些问题。

  1. 显然,登录用户必须有权安装/卸载软件,但这对于机器上的任何软件都是一样的,而不是特定于 .net 的问题
  2. 性能是高度可接受的,比 Java 好得多,并且与常规可执行文件一样好(如果不是更好)
  3. 性能是可以接受的,但是您可以通过这种方式将 .net 程序集转换为常规 .exe,这样它们就不需要 .net 框架来运行
  4. 如果可能,使用 C# 或 vb.net(更多代码示例,以及更多主流)
于 2009-10-27T11:33:21.427 回答
0
  1. 从来没有试过这个,但它很容易让你测试。
  2. 是的。
  3. 您可以使用 ngen 应用程序,但很少需要。
  4. 帮不了你这个。但是,有些人可能会说 VB.net 是一种爱好语言 :-) 如果您是从头开始,请查看您的问题域中各种 .NET 语言中可用的示例代码。认真的,看看。VB.Net 应该比 C# 更容易阅读,因为它使用了很多好词而不是讨厌的大括号 {}。但是一旦你进入它,C# 就非常容易阅读,并且比冗长的旧 VB 更简洁。
于 2009-10-27T11:35:58.833 回答