我一直在寻找一种在.net standard 2.0中执行Powershell cmdlet的方法,但最终发现这是不可能的,因为powershell是使用.net框架或.net内核构建的。
在研究过程中,我发现了以下内容: https://github.com/PowerShell/PowerShell/projects/4
如果无法在.net标准中执行powershell,那么该项目代表什么?
答案 0 :(得分:1)
.Net Standard是一个规范,它定义了.Net平台必须实现的一组API。它不是另一个.Net平台。您只能建立库,不能建立可执行文件。在下面的屏幕截图中,您可以看到.Net Standard包含来自经典.Net框架,.Net核心和Xamarin的API。
因此,您可以根据确保其将在Net Framework,Net Core或Xamarin下运行的标准构建库。这是由于以下事实:定义的(在标准中)一组类,接口等是由前面提到的框架实现的。随着网络标准版本的增加,supportex类,接口的数量也随之增加。
由于Powershell不是库,因此您必须在Powershell 5.x(使用网络框架)或Powershell 6(=使用网络核心)之间进行选择。由于可以从Powershell调用C#库,因此可以从Powershell 5和Powershell 6调用实现网络标准的库。