几个月前,我们开始在我们的 ASP.NET MVC 项目中使用 Nuget。我们正在构建许多由多个可重用组件组成的应用程序。例如:
应用程序 A - 身份验证模块(带有 JavaScript/模板/控制器/POCO 的 nuget 包) - 支付模块(带有 JavaScript/模板/控制器/POCO 的 nuget 包)
应用程序 B - 身份验证模块(带有 JavaScript/模板/控制器/POCO 的 nuget 包)
但是我们的团队在过去几周增长了很多,我们在合并包时遇到了一些问题。每次我们更新一个包时,旧版本的包都会从包文件夹中删除。这很好,但是在合并/签入到 git 时会导致很多问题(我们使用 tortoiseGit)。例如:
开发人员 1 将应用程序 A 中的 Authentication 模块更新到 2.0 版并将其签入。开发人员 2 也在处理应用程序 A 并将 Authentication 模块更新到 2.1 版。开发人员 1 在开发人员 2 之前签入。当开发人员 2 从 git 提取最新更改并尝试签入他的更改时,他将在 nuget 包文件夹中遇到很多冲突,因为他的包文件夹中没有 2.0 版的文件(TortoiseGit错误:文件未找到)。现在,开发人员 1 必须在他的本地文件系统中创建包文件夹并将其标记为已删除,以便能够签入他的更改。
如果 Nuget 不删除更新时的旧包文件夹,则此问题将得到解决。这可能吗?在这种情况下,我们当然会手动清理 nuget 包文件夹中的旧包......