C# 如何使用SharpDevelop';powershell中的s PackageManager.cmdlet
我试图使用SharpDevelop 5.1附带的PackageManagement cmdlet,但遇到了一个问题 这就是我尝试过的C# 如何使用SharpDevelop';powershell中的s PackageManager.cmdlet,c#,.net,visual-studio,powershell,sharpdevelop,C#,.net,Visual Studio,Powershell,Sharpdevelop,我试图使用SharpDevelop 5.1附带的PackageManagement cmdlet,但遇到了一个问题 这就是我尝试过的 import-module ".\PackageManagement.Cmdlets.dll" $solution = "C:\Git\TestProject\TestProject.sln" $project = Get-Project TestProject $solution 这将导致TypeInitializationException System
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
这导致了同样的例外
查看fusion日志,似乎加载了以下库:
PackageManagement
NuGet.Core
ICSharpCode.SharpDevelop
ICSharpCode.Core
看起来cmdlet本身并没有被加载
我做错了什么?您不能从PowerShell命令行单独使用PackageManager.cmdlet.dll。它取决于SharpDevelop在使用前需要初始化的部分
很久以前,我创建了一个版本,您可以在PowerShell的命令行中使用它。这项工作从未移植到SharpDevelop 5上。现在我明白了为什么在我尝试了所有可能的方法后,它就不起作用了。谢谢你回答马特!将解决方案移植到最新版本的SharpDevelop是否容易?