全部都是头衔。
维基百科:
最初,它只是一个名为PowerShell的Windows组件,于2016年8月18日推出了开放源码和跨平台,引入了PowerShell Core4。前者建立在.NET框架之上,而则建立在.NET核心上。
重点补充。
据我回忆,Powershell Core应该能够有效地调用Mono。对吗?
另见:
Running PowerShell from .NET Core
发布于 2018-02-18 00:13:34
据我回忆,Powershell Core应该能够有效地调用Mono。对吗?
不管你的意思是什么,我暂时怀疑。您能否用.Net Core编译为Mono编写的非平凡代码,反之亦然?也许,但不总是这样。你能用.Net核心加载为Mono编写的库吗?反之亦然?使用.Net Core2.0,您应该能够做到这一点,这是不到一年的测试(就像PowerShell核心是不到一个月的测试版)。所以,再一次,也许,但不总是。您能在Mono代码中使用Add-Type并期望它运行吗?也许,但是您将用.Net核心而不是Mono编译它。
如果您的意思是“从PowerShell核心,调用一个编译的程序,碰巧是用Mono编写的。”那样的话,是的,你总是可以这样做的。是个贝壳。您可以使用它运行外部程序。
Mono和.Net核心是运行在Linux上的.Net CLR的两个实现,但它们并不总是兼容的,也不实现一组相同的名称空间。.Net核心代码甚至不一定与.Net框架源代码兼容。最好把它们看作是同一种语言的不同实现,比如Visual C++,或者IBM对Oracle。
随着时间的推移,它们将汇聚到一个支持单个CLR标准(.Net标准)的地方,但我们正处于这一旅程的开始。.Net核心1.x是非常赤裸的骨头。.Net Core2.0非常丰富,但它仍然非常、非常早。Mono现在是一个MS产品,但是可能有一些组件是不混合的。Mono和.Net核心(以及.Net框架和统一)最终应该支持.Net标准,这是一个EMCA标准,但它们从未打算100%相同。我怀疑,当我们到达.Net核心4左右时,我们会有".Net核心“,它实现了.Net标准中的所有东西,然后是一个".Net Windows”作为一个扩展,它包含了原始.Net框架中缺少的东西,也许还有一个".Net Linux“,可以在.Net上完成类似的事情。
https://stackoverflow.com/questions/48844667
复制相似问题