PowerShell 和 .NET 运行时有何关系?

PowerShell 和 .NET 运行时有何关系?

我知道 PowerShell 和 .NET 之间存在关系,但我无法通过 Google 找到详细信息。我能够设置一个没有 PowerShell 或 .NET 的全新 Linux 实例,然后只安装 PowerShell。PS cmdlet 正常工作。当我查看 .NET 运行时时,没有列出任何内容。

问题:

  • PowerShell 和 .NET 之间的关系/映射是什么?
  • 是否有显示映射的文档?
  • 您是否安装了多个 .NET 运行时,其中哪一个由 PowerShell 使用?

====================================

更新

我根据以下答案创建了一个后续问题: PowerShell 7.0 / 7.1 和 .NET 运行时

答案1

Windows PowerShell 系统要求

https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/install/windows-powershell-system-requirements?view=powershell-7

公共语言运行时 4.0

Windows PowerShell 3.0、Windows PowerShell 4.0 和 Windows PowerShell 5.0 都是针对公共语言运行时 (CLR) 4.0 进行编译的。

Windows PowerShell 引擎要求

Windows PowerShell 2.0 引擎的最低要求是 Microsoft .NET Framework 2.0.50727。Microsoft .NET Framework 3.5 Service Pack 1 满足此要求。

几乎所有内容都将使用 CLR 4.0,除非模块清单指定 CLR 2 或您使用 -Version 2.0 开关启动 PowerShell。

https://stackoverflow.com/questions/63520845/determine-net-and-clr-requirements-for-your-powershell-modules

https://docs.microsoft.com/en-us/powershell/scripting/developer/module/how-to-write-a-powershell-module-manifest

powershell -version 2.0
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS > $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.9151
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1

相关内容