【问题标题】:Nuget - is reinstalling packages marked with requireReinstallation problem neccessary?Nuget - 是否需要重新安装标有 requireReinstallation 问题的软件包?
【发布时间】:2018-09-04 15:22:09
【问题描述】:
【问题讨论】:
标签:
.net
visual-studio
nuget
【解决方案1】:
如果我在构建解决方案时没有收到警告,我想知道是否可以安全地跳过在 packages.config 中重新安装标有 requireReinstallation 标志的包?
如果您在构建解决方案时没有收到警告,则不确定是否可以安全地跳过在 packages.config 中重新安装标有 requireReinstallation 标志的软件包,但个人建议不要跳过重新安装。
根据release notes:
如果我们检测到您的任何包裹受到
重定向或升级,我们将立即产生构建错误,让
你知道。除了直接的构建错误,我们还坚持一个
您的 packages.config 文件中的 requireReinstallation="true" 标志
受重定向影响的软件包,以及每个后续
在 Visual Studio 中构建将为这些包引发构建警告。
这意味着如果要将 NuGet 包安装到具有新目标框架的项目中,则该算法与用于确定哪个程序集最适合该项目的算法相同。如果程序集不同,则 NuGet 认为需要重新安装。例如,nuget 包有:
当您将目标框架从 .net 4.5 更改为 4.6 时,NuGet 会将 .net 46 下的 dll 标记为需要重新安装。 package 有一个面向 .NET 4.6 的程序集,因此它被认为是更好的匹配。
如果您从 .net 46 和 .net 45 引用的方法相同,则可以跳过重新安装标有 requireReinstallation 标志的软件包,但如果 .net 46 和 .net 45 中的方法不同,则需要重新安装这个 nuget 包。
所以,个人建议不要跳过重新安装。
希望这会有所帮助。