NuGet本地存储库和包还原

NuGet本地存储库和包还原,nuget,nuget-package,nuget-package-restore,Nuget,Nuget Package,Nuget Package Restore,在我们的团队中,我们正在尝试使用多个包project和NuGet team repository server构建工作流。但是为了避免在每次更改上部署包,每个开发人员在其机器上都有自己的本地存储库。情况是: 开发人员处理包和相关项目。在稳定发布之前,他不会发布包的新版本,也不会将其部署到NuGet team repository(所以版本在发布之前不会更改) Project_A生成Project_A.nupkg,并在生成后事件(例如1.0.0.0版)时将其部署到本地存储库中 Project_B依

在我们的团队中,我们正在尝试使用多个包project和NuGet team repository server构建工作流。但是为了避免在每次更改上部署包,每个开发人员在其机器上都有自己的本地存储库。情况是:

开发人员处理包和相关项目。在稳定发布之前,他不会发布包的新版本,也不会将其部署到NuGet team repository(所以版本在发布之前不会更改)

Project_A生成Project_A.nupkg,并在生成后事件(例如1.0.0.0版)时将其部署到本地存储库中

Project_B依赖于Project_A.nupkg,并由于NuGet包恢复内置功能而将其从本地存储库中提取

问题是,当开发人员更改Project_A中的某些内容并将其重新推送到本地存储库时,Project_B无法获得此更新,因为packages文件夹中的包版本已经存在

我试过:

  • 方法在预生成事件上删除packages文件夹,但在包还原msbuild任务后将删除该文件夹,因此生成失败
  • 将“预发布”部分添加到版本(),但若版本不变,则不会从存储库更新包

  • 从软件包管理器控制台手动调用
    更新软件包-重新安装-IncludePrerelease
    ,但它给出的
    软件包“Project\u A.1.0.0-alpha”已存在于文件夹“…\packages”


除了在每次生成时更改Project_A的AssemblyInfo.cs中的版本外,此问题的最佳解决方案是什么?

如果要使用较新版本的Project_A,请在BeforeClean事件上清除packages文件夹,如果要使用,请始终重建项目。

在BeforeClean事件上清除packages文件夹,并始终重建项目Project_A的较新版本。

似乎在NuGet restore package阶段之后触发BeforeClean事件,因此在还原后正在清理packages文件夹,因此生成失败。似乎在NuGet restore package阶段之后触发BeforeClean事件,因此在还原后正在清理packages文件夹,因此生成失败。