2

几个月前,我们开始在我们的 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 包文件夹中的旧包......

4

1 回答 1

1

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

如果您使用 Nuget 2.7+,请访问此站点

于 2013-04-18T05:57:06.350 回答