首页 文章

NuGet本地存储库和包恢复

提问于
浏览
1

在我们的团队中,我们正在尝试使用多个包项目和NuGet团队存储库服务器构建工作流 . 但是为了避免在每次更改时部署包,每个开发人员都在其计算机上拥有自己的本地存储场景是:

开发人员在包和依赖项目上工作 . 他没有发布新版本的软件包,也没有在稳定版本发布之前将其部署到NuGet团队存储库(因此版本在发布之前不会更改) .

Project_A生成Project_A.nupkg并在post build事件(例如版本1.0.0.0)上将其部署在本地存储库中 .

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

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

我试过了:

  • 方法在预先构建的事件上删除packages文件夹,但是在包恢复msbuild任务之后它被删除,因此构建失败 .

  • 将"pre-release" part添加到版本(http://docs.nuget.org/docs/reference/versioning),但如果版本未更改,则不会从存储库更新包 .

  • 从包管理器控制台手动调用 Update-Package -Reinstall -IncludePrerelease ,但它给出 Package 'Project_A.1.0.0-alpha' already exists in folder '...\packages'

除了在每个构建中更改Project_A的AssemblyInfo.cs中的版本之外,这个问题的最佳解决方案是什么?

1 回答

  • 0

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

相关问题