【问题标题】:What is the best technology to use for automating a task using .net libraries?使用 .net 库自动执行任务的最佳技术是什么?
【发布时间】:2010-10-07 15:41:02
【问题描述】:

假设您需要开发和安排一个应用程序/脚本来执行以下操作:-

  • 引用一个或多个 .net 程序集
  • 查询 API,获取一些对象
  • 为每个对象调用 API 中的另一个方法

你会用什么?

过去我创建了执行上述操作的小型控制台应用程序,但似乎有点笨拙和矫枉过正。

我想像 PowerShell 或 IronPython 这样的东西可能更合适。

有什么建议吗?

【问题讨论】:

    标签: .net powershell scripting automation ironpython


    【解决方案1】:

    绝对是 PowerShell,这正是它的设计目的。

    这里有一些有用的资源可以帮助您入门:

    【讨论】:

      【解决方案2】:

      出于对 PowerShell 的失望,我确实研究了 IronPython。我认为这是 powershell 的一个很好的替代品,特别是如果你是一名程序员。即使您是 IT 人员,我认为 Windows 命令 shell + IronPython 是一个很好的组合,可以满足您在 .NET 时代的需求(就像 COM 时代的命令 shell + vbscript 一样)。

      【讨论】:

        【解决方案3】:

        铁蟒。

        我尝试同时使用 Powershell 和 IronPython 来完成上述任务,并得出结论 IronPython 最适合(对我来说)。

        公平地说,Powershell 或任何基于 DLR 的语言(如 IronPython 或 IronRuby)都适合该任务,并且比处理琐碎的控制台应用程序开销更少。

        如果您所做的只是使用一个 .net 库并编写一些脚本,那么 IronPython 就可以使用 Powershell。如果您想利用某种 shell 类型的功能或使用现有的 CMDLETS,那么 Powershell 是更好的选择。

        IronPython 是 python 的一种实现,它具有 python 脚本的所有优点,例如易于学习、易于阅读和快速开发。

        【讨论】:

          【解决方案4】:

          PowerShell 的一个优点是,它们在后台做了很多工作以使事物轻松组合在一起,进行隐式类型转换等以使一个程序的输出可用作另一个程序的输入。而且由于一切都传递对象,因此您不必编写文本处理代码来将事物拼凑在一起。

          但是,当我编写大量原始代码而不是严重依赖库并将组件粘合在一起时,我确实更喜欢 Python。

          【讨论】:

            【解决方案5】:

            应用程序驱动程序的问题在于它们经常中断。应用程序不断地改变它们的外表面,这对驱动程序造成了严重破坏。因此,您需要不断更新部分驱动程序。我发现非编译的动态语言非常适合这种情况,因为您可以快速进行更新并启动任务。

            Powershell 是一项很棒的技术。它非常灵活且非常容易上手。它是编译代码和动态代码的混合体。因此,驱动程序中算法较多的部分可以是任何编译语言,而更脆弱和经常更新的部分可以是脚本。它们无缝集成。

            我是一个狂热的 Powershell 用户,并且对 IronPython 没有太多经验(因此我选择了这个)。 IronPython 也可以具有这些功能,因此,如果您对该语言更满意,那么您应该去那里。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-06-27
              • 1970-01-01
              • 2010-09-10
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-10-14
              • 1970-01-01
              相关资源
              最近更新 更多