NuGet:在团队开发中使用包
NuGet : using packages in team development
场景
- 计算机 A 和 计算机 B 在同一解决方案上,但项目为空。
- 计算机 A 安装 软件包 p.1.0 并提交更改(packages.config)
- 计算机 B 获取最新版本并执行程序包还原 => 两台计算机都有 程序包 p1.0
- 计算机 A 在项目中做了一些更改,在提交之前,执行更新包。 软件包 p.1.0 更新为 软件包 p.1.1
- 计算机 A 提交更改 packages.config
- 计算机 B 也在工作,在提交之前获取最新代码 => packages.config 更新为行 Package p.1.1
问题
计算机 A 安装了 Package p1.1。 计算机 B 安装了 Package p1.0 并带有更新包,没有任何变化。
问题
- 我错了吗?
- 如果不是,如何解决这个问题?
“在从 VCS 获取代码之前执行更新包可以解决问题,但这不是一个好的解决方案,因为每个人都会忘记。
当计算机B获取最新代码时,packages.config和项目文件中将引用1.1。这个包将在下一次构建之前安装(如果你没有禁用自动包恢复)。所以在这种情况下没有问题。
问题可能是计算机 B 应用了与 1.1 版本不兼容的更改。在这种情况下,在推送之前合并之后 运行 unit tests/test app 将是一个很好的做法。在这种情况下,持续集成实践可能会非常有帮助。
场景
- 计算机 A 和 计算机 B 在同一解决方案上,但项目为空。
- 计算机 A 安装 软件包 p.1.0 并提交更改(packages.config)
- 计算机 B 获取最新版本并执行程序包还原 => 两台计算机都有 程序包 p1.0
- 计算机 A 在项目中做了一些更改,在提交之前,执行更新包。 软件包 p.1.0 更新为 软件包 p.1.1
- 计算机 A 提交更改 packages.config
- 计算机 B 也在工作,在提交之前获取最新代码 => packages.config 更新为行 Package p.1.1
问题
计算机 A 安装了 Package p1.1。 计算机 B 安装了 Package p1.0 并带有更新包,没有任何变化。
问题
- 我错了吗?
- 如果不是,如何解决这个问题?
“在从 VCS 获取代码之前执行更新包可以解决问题,但这不是一个好的解决方案,因为每个人都会忘记。
当计算机B获取最新代码时,packages.config和项目文件中将引用1.1。这个包将在下一次构建之前安装(如果你没有禁用自动包恢复)。所以在这种情况下没有问题。
问题可能是计算机 B 应用了与 1.1 版本不兼容的更改。在这种情况下,在推送之前合并之后 运行 unit tests/test app 将是一个很好的做法。在这种情况下,持续集成实践可能会非常有帮助。