【问题标题】:Nuget - is reinstalling packages marked with requireReinstallation problem neccessary?Nuget - 是否需要重新安装标有 requireReinstallation 问题的软件包?
【发布时间】:2018-09-04 15:22:09
【问题描述】:

在将 VS 解决方案升级到新的 .Net 版本后,NuGet 有时会在 packages.config 中向第三方包添加 requireReinstallation 标志,这会导致生成警告。

这个问题已经在这篇文章中描述过: https://dhalgara.com/2018/04/19/nuget-require-reinstallation/

如果我在构建解决方案时没有收到警告,我想知道是否可以安全地跳过在 packages.config 中重新安装标有 requireReinstallation 标志的包?

谢谢!

【问题讨论】:

    标签: .net visual-studio nuget


    【解决方案1】:

    如果我在构建解决方案时没有收到警告,我想知道是否可以安全地跳过在 packages.config 中重新安装标有 requireReinstallation 标志的包?

    如果您在构建解决方案时没有收到警告,则不确定是否可以安全地跳过在 packages.config 中重新安装标有 requireReinstallation 标志的软件包,但个人建议不要跳过重新安装。

    根据release notes:

    如果我们检测到您的任何包裹受到 重定向或升级,我们将立即产生构建错误,让 你知道。除了直接的构建错误,我们还坚持一个 您的 packages.config 文件中的 requireReinstallation="true" 标志 受重定向影响的软件包,以及每个后续 在 Visual Studio 中构建将为这些包引发构建警告。

    这意味着如果要将 NuGet 包安装到具有新目标框架的项目中,则该算法与用于确定哪个程序集最适合该项目的算法相同。如果程序集不同,则 NuGet 认为需要重新安装。例如,nuget 包有:

    • lib/net45

      • Classlibeary1.dll
    • lib/net46

      • Classlibeary1.dll

    当您将目标框架从 .net 4.5 更改为 4.6 时,NuGet 会将 .net 46 下的 dll 标记为需要重新安装。 package 有一个面向 .NET 4.6 的程序集,因此它被认为是更好的匹配。

    如果您从 .net 46 和 .net 45 引用的方法相同,则可以跳过重新安装标有 requireReinstallation 标志的软件包,但如果 .net 46 和 .net 45 中的方法不同,则需要重新安装这个 nuget 包。

    所以,个人建议不要跳过重新安装。

    希望这会有所帮助。

    【讨论】:

    • 如何用VS4Mac重新安装?
    猜你喜欢
    • 2020-11-24
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2021-11-15
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多