Nuget:如何在软件包更新后删除旧软件包?

时间:2013-04-17 09:22:12

标签: git module nuget nuget-package

几个月前,我们已经开始在ASP.NET MVC项目中使用Nuget。我们正在构建许多由几个可重用组件组成的应用程序。例如:

申请A. - 验证模块(带有JavaScript /模板/控制器/ POCO的nuget包) - 支付模块(带有JavaScript /模板/控制器/ POCO的nuget包)

申请B. - 身份验证模块(带有JavaScript /模板/控制器/ POCO的nuget包)

但是我们的团队在最后几周增长了很多,而且在合并软件包时我们遇到了一些问题。每次更新包时,都会从包文件夹中删除旧版本包。这很好,但是在合并/签入git时会导致很多问题(我们使用tortoiseGit)。例如:

开发人员1将应用程序A中的身份验证模块更新到版本2.0并对其进行检查。开发人员2还在处理应用程序A并将身份验证模块更新到版本2.1。开发人员1在开发人员2之前签入。当开发人员2从git中提取最新更改并尝试检查他的更改时,他将在nuget packages文件夹中遇到很多冲突,因为他的包文件夹中没有2.0版本的文件(TortoiseGit)错误:FileNotFound)。现在,Developer 1必须在其本地文件系统中创建包文件夹并将其标记为已删除,以便能够签入他的更改。

如果Nuget不删除更新中的旧包文件夹,则会解决此问题。这可能吗?在这种情况下,我们当然会手动清理nuget包文件夹中的旧包...

1 个答案:

答案 0 :(得分:1)

对于您的团队来说,听起来更好的解决方案是不在版本控制中包含 packages 文件夹,而是enable package restore

If you use Nuget 2.7+ , visit this site