微软似乎正在将大量的configuration和查询function移植到PowerShell(可从C#或托pipeC ++访问),同时废弃甚至删除较旧的API(可用于C或非托pipeC ++)。 我们这些拥有大量非托pipeC ++程序但无法切换到托pipeC ++的人可能需要调用PowerShell cmdlet(至less我现在有一个) – 我们该怎么做?
有build议反向PInvoke(托pipe/非托pipethunk)可能能够做些什么,但我希望有一个更好的方法比thunking或parsing从PowerShell脚本的文本输出。
[注:这是我昨天做过的一个重复性和概括性的查询 ,可能过于专业化。]
MS的建议可能是将你的一般非托管C ++应用程序中的特定类/模块编译为托管代码(使用/ clr编译单个文件),并让IJW转换代码管理对它的调用(并从调用PowerShell API管理位)。 我已经被告知(来自MS VC ++的人),这是将大量托管调用添加到大型非托管应用程序的预期方法。
希望有所帮助。