Visual Studio 解决方案中的多个 docker-compose .dcproj

Kel*_*lon 5 docker docker-compose visual-studio-2017

要为 dockerized 解决方案开发一些样板代码,我希望在同一个解决方案中有多个 docker-compose .dcproj 项目。让我们说:

  1. shared- docker -compose .dcproj -用于互操作的共享服务,如 MQ
  2. example- docker -compose .dcproj -样板测试/操场的示例服务
  3. app1- docker -compose .dcproj -场景 1的实际服务
  4. 应用程序# ...

如果解决方案的一部分需要更新,这应该可以保持较高的开发速度。开发人员可以自由考虑他想查看整个解决方案的哪一部分。

好的 - 创建这个项目/撰写文件并不是真正的问题。docker、docker-compose 或解决方案的任何其他部分都没有问题。除了IDE。

Visual Studio 2017确实遇到了多个 dcproj 文件的问题。

  • 根据 .sln 文件中 dcproj 的顺序,行为会有所不同。
  • 它需要第一个找到的dcproj。
  • 卸载所有其他 dcproj 会有所帮助。但我不确定这是否稳定。
  • 即使它启动,也不能保证调试器跟踪请求的组合。例如,启动 dcproj#3,调试器侦听 dcproj#2。
  • 如果第一个找到的 dcproj 只是普通的图像分发器(如启动 MQ,没有代码,因此没有 'build:'),那么 compose 会启动,但 dev 会安静地转储。
  • 奇怪的是,当解决方案中有多个 dcproj 文件并且您添加 -> Docker 支持时,您可以选择其中的一个。

或者简而言之:如果没有向所有开发人员做出强有力的解释,就无法使用。甚至花了很长时间才将所有这些责任碎片整合在一起。

所以,这是我的问题: 有没有办法让这样的组合也适用于 Visual Studios .dcproj?对这种常见情况有什么建议吗?

目前,我发现的唯一方法是拆分解决方案,唯一的区别是包含哪个 docker-compose。感谢您的任何想法和分享您的做法。

顺便说一句,我想添加一个 dcproj-file 标签。:)