当我尝试从 nuget 安装“itext7”包时出现错误

Getting an error when I try to install 'itext7' package from nuget

提问人:Ralf_Reddings 提问时间:11/17/2023 更新时间:11/17/2023 访问量:20

问:

我可以找到带有以下内容的软件包:Find-Package -ProviderName 'NuGet' -Name 'itext7'

Name Version Source Summary  
---- ------- ------ -------  
itext7 8.0.2 nuget.org iText for .NET is a library for PDF generation written entirely in C# for the .NET platform.

当我尝试安装它时,它会等待大约 40 秒,然后抛出此错误:Find-Package -ProviderName 'NuGet' -Name 'itext7'| Install-Package -Destination C:/Temp

 Install-Package: Unable to find dependent package(s) (System.Reflection)

我四处寻找它的含义和可能的解决方案。此问题“无法找到依赖包 (System.Runtime)”表明以下方法对他们有用:

find-package -name itext7 -Source "https://www.nuget.org/api/v2" | Install-Package -Destination c:\temp

但这也会带来一个错误:

Install-Package: Dependency loop detected for package 'itext7'.

我一直无法找到解决方案。有没有人遇到过这个问题?

任何帮助将不胜感激!

PowerShell NuGet

评论

1赞 mklement0 11/17/2023
从 v7.4.0 开始,PowerShell 缺乏与 NuGet 包的直接集成,这不仅体现在遇到的“依赖项循环”错误中: 即使安装成功,加载相关程序集也并不总是加载其依赖项,这需要基于 .NET SDK 的解决方法(这也绕过了“依赖项循环”问题)。有关详细信息,请参阅此答案
0赞 Ralf_Reddings 11/18/2023
我明白了,实际发生的事情是,从 Nuget 下载文件后,它还将 dll 加载到当前会话中,我不知道这一切。我现在明白了一点。我会阅读你链接到的答案并看看。谢谢!Install-Package
1赞 mklement0 11/18/2023
很高兴听到它,但不会自动加载程序集。实际上,您需要自己在下载的包中发现相关的程序集文件,即使这样,由于缺少依赖项,加载也可能不起作用。Install-Package
1赞 Ralf_Reddings 11/18/2023
啊,那我就把这个错误的理解划掉。干杯!

答: 暂无答案