【问题标题】:Reinstalling NuGet packages with NuGet installed as VS Extension使用安装为 VS 扩展的 NuGet 重新安装 NuGet 包
【发布时间】:2011-09-28 01:14:18
【问题描述】:

我希望能够按照The NuGet docs 在 packages.config 中安装所有 NuGet 包。 NuGet 作为 VS 扩展安装,我似乎找不到 nuget.exe。是否可以运行:

nuget i packages.config -o 包

没有为每个项目维护单独的 nuget.exe 副本?

【问题讨论】:

    标签: visual-studio nuget nuget-package


    【解决方案1】:

    一个更简单的选项,您可以在开发期间在 Visual Studio 中保持启用状态,以减轻与 NuGet 包安装相关的痛苦。

    NuGet Package Manager > General 下保持下面提到的两个选项处于选中状态-

    1. 允许 NuGet 下载缺失的包
    2. 在 Visual Studio 中构建期间自动检查丢失的包

    看看下面的截图:

    【讨论】:

      【解决方案2】:

      重新安装当前解决方案的所有项目中的所有包:

      Update-Package -Reinstall
      

      您可以找到有关重新安装 nuget 包的更多信息here

      【讨论】:

      • 这个命令也会更新所有包到新版本,不是吗?
      • 不要,这只是重新安装!
      • 当 nuget.org 上没有可用的旧版本时更新。
      【解决方案3】:

      警告 - 使用

      Update-Package -Reinstall
      

      Update-Package -Reinstall -IgnoreDependencies
      

      可能会删除您所有的包和 package.config 文件!

      始终确保先执行备份。

      场景

      • 多项目解决方案
      • 每个都包含自己的 Nuget 条目,其中一些具有相同的包(例如 SharpRepository、Entity Framework)
      • 现在复制没有包文件夹的文件夹,以便在其他地方“分发”
      • 假设包文件夹不包含在分发中
      • 现在试试命令Update-Package -Reinstall 或者如果你有一些alpha 包和/或确定你的依赖是好的,试试Update-Package -Reinstall -IgnoreDependencies

      结果
      因为包文件夹不存在,所以包的条目也会有条不紊地消失。这可能会让一些人感到惊讶 - 所以要小心,这就是我要说的。

      【讨论】:

      • 第二个在收到错误“命名空间中不存在类型或命名空间名称”后工作
      【解决方案4】:

      作为对这篇文章的更新,NuGet 1.6 添加了对工作流的支持,以便在构建时恢复包(如果丢失)。 右键单击解决方案,单击“启用包还原模式”将其设置为开启。

      更多详情请访问: http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

      【讨论】:

        【解决方案5】:

        This blog entry 上找到了解决方案。我需要安装NuGet.CommandLine,它会生成nuget.exe。在 VS 命令行中全局可用。然后我可以将其设置为预构建事件,以确保下载依赖项。

        【讨论】:

        • 更好的解决方案docs.nuget.org/docs/workflows/…
        • 您不需要任何预构建事件,您可以“启用 NuGet 包还原”,它将 NuGet 与您的构建集成。请注意,执行此操作时,会创建一个 .nuget 文件夹,您需要将其提交给版本控制。 .nu​​get 文件夹包含 nuget.exe 的副本 - 如果您不想提交该文件,可以在 nuget.targets 文件中进行调整,使其根据需要下载 nuget.exe。
        猜你喜欢
        • 2021-08-21
        • 2017-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多