Я играл с приложением c #, в котором размещены IronPython, IronRuby и (, надеюсь, )PowerShell. Поскольку IronPython и IronRuby полностью построены на DLR, API для их использования практически идентичен.
IronPython.Hosting.Python.CreateEngine()
и
IronRuby.Ruby.CreateEngine()
оба создают экземпляры Microsoft.Scripting.Hosting.ScriptEngine . Есть ли надежда заставить PowerShell 3.0 создать ScriptEngine? Мне не удалось найти много информации по этому вопросу, кроме PowerShell 3.0, похоже, он построен на DLR больше , чем предыдущая версия (см.http://huddledmasses.org/powershell-3-finally-on-the-dlr.
Не похоже, что вы можете преобразовать движок PowerShell, созданный с помощью следующего, в ScriptEngine.
System.Management.Automation.PowerShell.Create()
Я подозреваю, что если я действительно хочу работать с PowerShell через тот же API, мне нужно создать свой собственный ScriptEngine, который обертывает хост PowerShell.