install-package:检测到软件包'Microsoft.Data.Sqlite'的依赖关系循环

时间:2019-10-12 06:46:34

标签: powershell nuget-package packaging

我正在尝试使用PowerShell的cmdLet Microsoft.Data.Sqlite安装install-package

$pkg = find-package -name Microsoft.Data.Sqlite
install-package -force -scope currentUser -verbose $pkg

第二个命令花费很长时间,然后响应

install-package : Dependency loop detected for package 'Microsoft.Data.Sqlite'.
At line:1 char:1
+ install-package -force -scope currentUser -verbose $pkg
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : Deadlock detected: (Microsoft.Data.Sqlite:String) [Install-Package], Exception
+ FullyQualifiedErrorId : DependencyLoopDetected,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

那是为什么?要安装此软件包,我必须做什么?

1 个答案:

答案 0 :(得分:1)

首先,我在提升的PowerShell提示符中安装运行以下命令的最新Nuget提供程序:

Install-PackageProvider Nuget –force –verbose

我使用另一个-SkipDependencies附加参数解决了另一个遇到相同问题的软件包的问题:

Install-Package libphonenumber-csharp -Destination ".\NugetPackages" -Force -Source 'https://www.nuget.org/api/v2' -ProviderName NuGet -RequiredVersion '8.10.23' -SkipDependencies -ErrorAction SilentlyContinue

然后install-package对该软件包再次起作用,我显然不明白为什么它突然停止工作,但是-SkipDependencies对我来说是依赖性循环的答案。