gpt4 book ai didi

.net - 如何在不使用 Nuget UI 或命令行工具的情况下手动更新 Nuget 包

转载 作者:行者123 更新时间:2023-12-01 01:54:41 25 4
gpt4 key购买 nike

我正在开发一个包含 250 多个项目的大型解决方案。使用 Visual Studio Nuget UI 或 Nuget 命令行工具更新所有这些项目中使用的通用 Nuget 包需要 2 到 3 个小时。我正在寻找一种通过手动更新文件来更快地执行此操作的方法。

我的第一个想法是我只需要更新每个项目的 *.config 中的包版本号。文件。例如,查找和替换

<package id="ThisPackage" version="0.0.0.1" targetFramework="net452" />


<package id="ThisPackage" version="0.0.0.2" targetFramework="net452" />

当您通过 VS Nuget UI 执行更新时,这似乎是实际发生的事情,所以我认为这样做然后重建解决方案会解决所有问题,有点像手动编辑 package.json 中的依赖项|然后运行 ​​ npm install在节点。

然而,这不起作用; .csproj 文件中的引用不会像 Nuget 更新配置文件时那样在构建时更新。

我也可以手动更新 .csproj 文件,例如通过查找和替换
<HintPath>..\..\packages\ThisPackage.0.0.0.1\


<HintPath>..\..\packages\ThisPackage.0.0.0.2\

但据推测,我还需要更新引用的程序集版本,但我不确定如何为给定版本的 Nuget 包计算出它们应该是什么。另外在这一点上它变得有点繁琐和容易出错,尽管大约需要半小时的工作而不是 3 小时的死时间。

有没有人找到一种方法来在不需要几个小时的解决方案中更新大量项目的 Nuget 包?

最佳答案

包更新时间由下载包和卸载/安装包组成。下载 Action 在第一次下载时只会执行一次,因此卸载/安装 Action 几乎会占用所有更新时间。所以您可以接受 Kiliman 的建议,首先检查您的机器性能。

如果您想根据您的步骤手动更新所有这些软件包。您可以按照以下步骤减少更新时间:

  • 下载更新包并将其放置到您的本地包存储库中。
  • 解压缩包,然后找到引用的程序集版本。或者,您可以使用 NuGet 包资源管理器工具获取引用的程序集版本。
  • 批量替换所有package.config中的包版本
  • 通过notepad++等第三方工具批量替换所有.csproj文件中的包版本和引用程序集版本。
  • 关于.net - 如何在不使用 Nuget UI 或命令行工具的情况下手动更新 Nuget 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41489327/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com