在尝试.Net之前的一些问题

时间:2009-10-27 11:29:12

标签: .net feedback

在查看.Net中开发的内容之前,我有一些新手问题:

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

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

  3. 如果表现明显不如例如。编译过的Delphi应用程序,有哪些已知的可靠方法可以加快速度?

  4. 由于我习惯用Python编写脚本,IronPython与其他.Net语言相同,或者它更像是一种爱好语言而且我应该去VB.Net?


  5. 进一步的问题:

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

7 个答案:

答案 0 :(得分:4)

  

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

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

  

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

是的,非常如此。

  

如果表现明显不如例如。编译过的Delphi应用程序,有哪些已知的可靠方法可以加快速度?

有大量的内省,分析和优化工具可用 - CLR Profiler,dotTrace,Reflector等。如上所述,因为大多数.NET程序与其对应程序相当(或更好),所以有点没有实际意义。

  

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

虽然实现相对成熟并且已达到“它只是工作”阶段,但支持IronPython的工具并不像.NET系列中的其他语言那样强大。对于初学者来说,你可能想尝试使用C#只是为了让你的脚湿透,因为工具集将很好地开发并且你会有很多例子可以继续。也就是说,我经常在生产项目中使用IronPython和IronRuby。好东西!

答案 1 :(得分:2)

  1. 这取决于用户权限。对于更新,还有一种称为ClickOnce技术的东西可以加速程序所需的任何版本控制,并为您提供有关如何运行程序的大量权限集。 (另请注意,Vista已经安装了.NET2.0,只有一些XP机器不会,但你可以通过Windows更新获得它 - 这里的安装取决于用户权限,而不是.NET persay)
    1. 是的,非常如此。和任何事情一样,Garbage in,Garbage out。然而,.NET是一种托管语言并且具有Garbage Collection,在开发过程中需要大量工作。
    2. N / A
    3. 第一次误解了这一点。就个人而言,IronPython在那里工作,但学习可能比VB.NET / C更难##/ li>
  2. 希望这有帮助。

答案 2 :(得分:2)

  1. 没有。系统文件需要修改,因此框架本身只能由特权用户安装。在.NET上运行的应用程序不需要特殊权限即可安装或更新。

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

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

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

答案 3 :(得分:1)

IronPython与C#和VB没有相同的支持级别。不过,它的效果非常好,如果你喜欢Python,那就是胜利。

答案 4 :(得分:0)

回答你的一些问题。

  1. 登录用户必须拥有安装/卸载软件的权限,但这对于计算机上的任何软件都是相同的,而不是.net特定的问题
  2. 性能是高度可接受的,比Java更好,并且与常规可执行文件一样好(如果不是更好)
  3. 性能是可以接受的,但您可以通过这种方式将.net程序集转换为常规.exe,这样就不需要运行.net框架
  4. 如果可能的话去C#或vb.net(更多的代码示例,以及更多的主流)

答案 5 :(得分:0)

  1. 从未尝试过这个,但它很容易让你测试。
  2. 是的,是。
  3. 您可以使用应用程序但很少需要。
  4. 无法帮助你解决这个问题。但是,有些人可能会说VB.net是一种业余爱好语言:-)如果您从头开始,请查看问题域中各种.NET语言中可用的示例代码。说真的,看看。 VB.Net应该比C#更容易阅读,因为它使用了很多不错的单词,而不是像讨厌的牙套{}。但是一旦你进入它,C#就非常容易阅读,而且比那些冗长的旧VB更容易混乱。

答案 6 :(得分: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)。如果你进入德尔福,也许这就是你要走的路?