如何在 .NET Core 中更新子 NuGet 包

5
在使用NetSparker工具对Web应用程序进行渗透测试时,版本为4.3.0的System.Text.RegularExpressions存在安全漏洞。解决方案是将nuget包更新到4.3.1版本。
该项目间接依赖于System.Text.RegularExpressions包。该项目正在使用版本为2.1.0的Microsoft.Data.SqlClient。即使我将其升级到2.1.3,该包也不会将其子包System.Text.RegularExpressions升级到4.3.1。默认情况下,Microsoft.Data.SqlClient可接受的nuget包版本为>=4.3.0。
需要帮助仅升级子nuget包System.Text.RegularExpressions到4.3.1版本enter image description here

1
你需要明确地包含 System.Text.RegularExpression 包的引用吗?直接引用版本 4.3.1+ 应该会强制其余部分解析到该版本。(更好的引用可能是 (4.3.0,),它允许任何更高的版本但特别排除了 4.3.0,参见 此处。) - Jeroen Mostert
直接引用它有什么问题吗? - Jonesopolis
我并没有看出任何问题。我只是想知道是否有其他方法,而不是添加直接引用。 - Sats
这是那种dotnet的误报漏洞触发器之一吗?您使用的dotnet版本是什么?请查看https://github.com/dotnet/standard/issues/1786#issuecomment-755619934。 - it3xl
这不是误报。我们正在使用 .Net Core 3.0。最终,我通过直接在父项目中添加引用来解决了这个问题,然后其他项目开始引用最新版本。 - Sats
显示剩余2条评论
1个回答

1

由于子项目中引用的参考文献过多,我在父项目中直接引用了System.Text.RegularExpressions和Microsoft.Data.SqlClient指向nuget包的安全版本。

随后,所有引用不安全版本的System.Text.RegularExpressions和Microsoft.Data.SqlClient的子项目都开始使用父项目中提到的版本。


你是怎么做到的,需要更多解释。 - Wali Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接