【问题标题】:sharing variables between powershell and C#在 powershell 和 C# 之间共享变量
【发布时间】:2011-09-14 18:45:48
【问题描述】:

我正在尝试在 .Net 中构建一个文档组装应用程序,它允许将规则和条件嵌入到文档片段中,大概使用某种脚本语言(而且我真的不想发明自己的脚本语言)

我需要 C# 代码调用脚本语言的能力,反之亦然,但重要的是,我还希望它们能够通过引用共享任意数据结构(不仅仅是通过值来回传递几个字符串)

我可以使用 powershell 执行此操作,还是需要使用 IronPython 等 DLR 语言?说到这里,使用 DLR 语言是否还有其他优势,这意味着我无论如何都应该使用 DLR?

安迪

【问题讨论】:

  • 任何有完整源代码的解决方案?

标签: c# scripting powershell powershell-2.0


【解决方案1】:

我认为 this article 正是您正在寻找的东西(无论如何,对于 Powershell)。

使用 DLR 语言可能会使您将要执行的代码位更贴近实际。根据上述文章,从 .NET 应用程序调用 Powershell 在新线程上执行。

在任何情况下,如果不定义允许的命令子集并针对该命令验证输入,我个人会谨慎地执行任何脚本语言的随机位。

【讨论】:

    【解决方案2】:

    Powershell 可以很好地实例化和使用 C#(或任何 .NET)对象。我从未尝试过让 C# 代码调用 powershell 命令,但如果不能,我会感到惊讶。也就是说,DLR 路线也不错,事实上,Ayende 的 DSL 书籍 http://www.amazon.com/DSLs-Boo-Domain-Specific-Languages/dp/1933988606/ref=sr_1_1?ie=UTF8&qid=1308063119&sr=8-1 中的示例也可能对您有用(即使您最终没有使用 Boo,它也是一本好书)。

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 2013-07-26
      • 2018-04-25
      • 1970-01-01
      • 2015-03-28
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多