从本地文件夹自动更新 nuget 包

Auto update nuget package from a local folder

我的 .NET Core 项目引用了另一个项目的 class 库。

我像这样将 nuget 包发布到本地文件夹:

"scripts": {
  "postcompile": [
    "dotnet pack --no-build --configuration %compile:Configuration% -o D:\mynugetpackages\%project:Name%"
  ]
}

然后我从这个文件夹添加对另一个项目的引用。

每次我更新 class 库时,我都必须手动去管理 nuget 包,然后从引用项目中的 Visual Studio 更新 nuget 包。

有没有办法自动执行此操作,以便当我进行更新并发布最新的 nuget 包时,引用项目会自动更新到最新更新?

不,Visual Studio 无法自动检测包已更新(在本地或远程源中)。

您可以在目标项目中为 运行 nuget update 编写脚本以获取最新的包,但您仍然可能需要手动启动脚本。这至少比在 Visual Studio.

中通过 NuGet GUI 手动单击要快

另一种选择是将 class 库放在与主项目相同的解决方案文件夹结构中,并将其作为项目依赖项引用:

"dependencies": {
  "MyClassLib": {
    "target": "project"
  }
}

不过,这仅在您能够采用此文件夹结构时才有效:

src/
  MyProject/
  MyClassLib/