c# - 尝试从 .NET Framework 移植现有的依赖于 powershell 的类库
问题描述
我有一些使用旧 Powershell 的代码的 .NET Framework 类库:
using System.Management.Automation.Runspaces;
using System.Management.Automation;
//some code executing powershell commands in runspaces and processing results, similar to this:
var runspace = RunspaceFactory.CreateRunspace();
using (var powerShell = PowerShell.Create())
{
powerShell.Runspace = runspace;
powerShell.Commands.AddScript(psscript);
results = powerShell.Invoke();
//process results, etc...
}
我正在尝试使用Microsoft.Powershell.SDK
带有 Powershell Core 的包将其移植到 .NET Core。它在大多数情况下都可以正常工作,但由于显而易见的原因,它无法运行旧的 powershell 命令(add-pssnapin
等)。
此类库旨在用于广泛的机器上,其中一些需要那些旧的 powershell 命令才能工作,而另一些需要使用 Powershell Core。我如何实现这一目标?
我能想到的唯一解决方案是制作两个单独的项目,其中一个用于 .NET Framework,另一个用于 .NET Core,但是拥有两个具有相同代码的项目(除了 4-5 行带有这些旧命令)似乎很糟糕主意。有没有更好的方法来实现这一点?
解决方案
推荐阅读
- android - 我的应用主题(样式)中忽略了属性
- javascript - 我的 html 和 javascript 代码无法在 Safari 上运行
- tmux - 终端特定的 tmux 颜色
- ios - IOS 快捷方式:使用应用程序设置(嵌套)字典以修改 EXIF 数据
- haskell - 无法在终端中运行 ghci
- javascript - 如何匹配三种格式的日期
- seo - Sitemap file multilingual with dynamic content
- mysql - Mysql:带有数值的Order By显示错误的顺序
- c++ - OpenGL glm旋转
- laravel - Laravel 给了我一个重复的集合数据