在将VS解决方案升级到新的.Net版本之后,NuGet有时会在packages.config中的第三方软件包中添加requireReinstallation标志,这会导致生成警告。
此问题已在这篇文章中描述: https://dhalgara.com/2018/04/19/nuget-require-reinstallation/
我想知道如果在构建解决方案时未收到任何警告,跳过重新安装packages.config中标有requireReinstallation标志的软件包是否安全?
谢谢!
答案 0 :(得分:1)
我想知道如果在构建解决方案时未收到任何警告,跳过重新安装packages.config中标有requireReinstallation标志的软件包是否安全?
如果在构建解决方案时未收到任何警告,则不确定告诉您是否安全跳过在packages.config中重新标记带有requireReinstallation
标志的软件包,但是个人建议不要跳过重新安装。
如果我们检测到您的任何包裹都受到 重新定位或升级,我们会立即产生构建错误, 你懂。除了立即生成错误外,我们还坚持 所有文件包中的requireReinstallation =“ true”标志 受到重新定向的软件包,以及随后的每个软件包 在Visual Studio中进行构建会针对这些软件包提出构建警告。
这意味着该算法与用于确定哪个程序集与该项目最匹配的算法相同(如果该程序具有新的目标框架,则要将NuGet软件包安装到项目中)。如果程序集不同,则NuGet认为需要重新安装。例如,带有以下内容的nuget包:
lib / net45
lib / net46
将目标框架从.net 4.5更改为4.6时,NuGet会将.net 46下的dll标记为需要重新安装。软件包具有针对.NET 4.6的程序集,因此被认为是更好的匹配。
如果从.net 46和.net 45引用的方法相同,则可以安全地跳过重新安装标有requireReinstallation标志的软件包,但是,如果.net 46和.net 45中的方法不同,则需要重新安装此nuget软件包。
因此,个人建议不要跳过重新安装。
希望这会有所帮助。