我想用 C# 编写 PowerShell。来自 red-gate.com 的有用链接它描述了该过程的步骤。作者使用 .Net Framework 作为 Class 库项目。我对此没有任何问题,但是,我还想为 .Net Core 编写我的函数,以使它们也具有跨平台功能。
我用目标框架创建了一个新项目 netcoreapp3.1
.当我安装 System.Management.Automation 7.1.2
我收到错误:
Error NU1202 Package System.Management.Automation 7.1.2 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package System.Management.Automation 7.1.2 supports: net5.0 (.NETCoreApp,Version=v5.0)
我对支持的 .NETCoreApp v5.0
感到困惑.通过此链接 https://dotnet.microsoft.com/download有 .NET v5.0 和 .NET Core 3.1。当我瞄准 net5.0
我收到未找到引用程序集的错误,但我安装了 .NET 5.0 SDK。C:\Users\Alex_P>dotnet --list-sdks
3.1.403 [C:\Program Files\dotnet\sdk]
5.0.201 [C:\Program Files\dotnet\sdk]
我的问题,我该如何使用 System.Management.Automation
在 .NET Core(跨平台项目)中编写 PowerShell 函数?
最佳答案
尽管不幸的是,System.Management.Automation
包裹的NuGet page没有提到它,这个包不是直接使用的。
相反,使用 this answer 中描述的软件包之一。 ,取决于您的用例。
要针对 PowerShell (Core) 7+,请使用 Microsoft.PowerShell.SDK
包裹。
Dependencies
部分,并查阅第一个条目;例如,对于包版本 7.1.3
最低要求的 .NET (Core) 运行时是 net5.0
关于c# - System.Management.Automation 与 .NET Core 3.1 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66607550/