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



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

这就是我尝试的

import-module ".PackageManagement.Cmdlets.dll"
$solution = "C:GitTestProjectTestProject.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 4和Nuget Powershell CMDLET版本,您可以从命令行中使用PowerShell。这项工作从未移植到Sharp Develop 5.

最新更新