恢复Nuget软件包时发生错误

时间:2019-11-05 13:02:51

标签: asp.net-core asp.net-web-api nuget

当我尝试构建解决方案(使用Visual Studio 2019的AspnetCore 2.0)时,出现以下错误:

  

还原NuGet软件包时发生错误:软件包   'MySql.Data.7.0.7-m61'包含一个不安全的条目   提取。

同一个项目在其他计算机上也可以运行。我已经尝试清理解决方案,还原软件包,但是没有任何效果。该怎么办?

2 个答案:

答案 0 :(得分:1)

您听说过“拉链”吗?这是一个zip存档漏洞,其中zip文件包含路径为..\thing的文件,因此当您将其提取到c:\somewhere时,它将写入c:\thing,这显然超出了预期的{{ 1}}目的地。 c:\somewhere包含此漏洞,尽管它不是恶意的。但是,这仍然不是一件好事,这就是为什么新的NuGet客户禁止提取它的原因。

由于该软件包不是恶意的,因此软件包作者发布了没有此问题的较新版本,因此您可以升级到该软件包的较新版本。此项目在其他计算机上为您工作的唯一可能原因是,如果您正在运行旧版本的Visual Studio和/或.NET Core SDK,因为NuGet早在此问题上已添加缓解措施,表明您尚未更新一直在另一台机器上。

答案 1 :(得分:0)

我通过如下方法使用PackageReference解决了该错误:

将以上行添加到列表中的项目“ myProjectName.csproj”上。

如果该行不能解决问题,请将行的Version值更改为Version =“ 7.0.7”