如何在 powershell 中使用 SharpDevelop 的 PackageManagement.Cmdlets

How do I use SharpDevelop's PackageManagement.Cmdlets in powershell

我正在尝试使用 SharpDevelop 5.1 附带的 PackageManagement cmdlet,但我 运行 遇到了问题。

这是我试过的

import-module ".\PackageManagement.Cmdlets.dll"

$solution = "C:\Git\TestProject\TestProject.sln"

$project = Get-Project TestProject $solution

这会导致 TypeInitializationException

System.TypeInitializationException: The type initializer for 
'ICSharpCode.PackageManagement.PackageManagementServices' threw an exception.
---> ICSharpCode.Core.ServiceNotFoundException: Required service not found: 
ICSharpCode.Core.IPropertyService

我也试过通过反射加载dll:

[Reflection.Assembly]::LoadFrom(".\PackageManagement.Cmdlets.dll") | Out-Null

$test = New-Object ICSharpCode.PackageManagement.Cmdlets.GetProjectCmdlet

这导致了同样的异常。

查看融合日志,似乎加载了以下库:

PackageManagement

NuGet.Core

ICSharpCode.SharpDevelop

ICSharpCode.Core

似乎没有加载 Cmdlet 本身。

我做错了什么?

您不能在 PowerShell 命令行中单独使用 PackageManagement.Cmdlets.dll。依赖SharpDevelop中需要初始化的部分才能使用

很久以前,我创建了一个 SharpDevelop 4 and the NuGet PowerShell cmdlets 版本,您可以通过 PowerShell 从命令行使用它。这项工作从未移植到 SharpDevelop 5 中。