在我们的团队中,我们正在尝试使用多个包项目和NuGet团队存储库服务器构建工作流。但是为了避免在每次更改时部署包,每个开发人员都在其计算机上拥有自己的本地存储场景是:
开发人员在包和依赖项目上工作。他没有发布新版本的软件包,也没有在稳定版本发布之前将其部署到NuGet团队存储库(所以版本在发布之前不会更改)。
Project_A生成Project_A.nupkg并在post build事件(例如版本1.0.0.0)上将其部署在本地存储库中。
由于NuGet包恢复内置功能,Project_B依赖于Project_A.nupkg并从本地存储库中提取它。
问题是,当开发人员更改Project_A中的某些内容并将其重新推送到本地存储库时,Project_B没有获得此更新,因为已存在的packages文件夹中包的版本相同。
我试过了:
将“预发布”部分添加到版本(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中的版本之外,此问题的最佳解决方案是什么?
答案 0 :(得分:0)
在BeforeClean事件上清除包文件夹,如果要使用较新版本的Project_A,请始终重建项目。