我们公司的某些计算机上装有Powershell的较早版本,因为由于依赖性,并非所有计算机都可以接收某些更新。我在C#CmdLet项目中在具有Powershell 5.1的计算机上使用nuget扩展Microsoft.PowerShell.5.1.ReferenceAssemblies,在具有Powershell 5.0的计算机上使用Microsoft.PowerShell.5.0.ReferenceAssemblies,但是我不能同时使用它们。
如何在我的C#CmdLet项目中支持多个Powershell版本?
使用PowerShellStandard.Library包创建跨多个版本甚至多个版本运行的模块(cmdlet)。即,它们可以在Windows PowerShell和PowerShell [Core]上运行。
使用版本3创建在PowerShell版本3和更高版本上运行的cmdlet。
3.0.0-preview-02
从2018年开始的-我不知道为什么。使用5.1版创建在PowerShell 5.1版和更高版本上运行的cmdlet。
有关更多信息,请参见PowerShell Standard GitHub存储库。
注意:
所说的PowerShellStandard.Library包用于在给定机器上开发从PowerShell内部运行的代码。也就是说,它需要现有的PowerShell安装。
相比之下,以下软件包使您可以将PowerShell与应用程序捆绑在一起:
Microsoft.PowerShell.SDK-用于基于.NET Core(跨平台)构建PowerShell Core应用程序。
Microsoft.PowerShell.5.ReferenceAssemblies-用于基于.NET Framework构建Windows PowerShell应用程序(仅Windows)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句