eShopOnContainers
eShopOnContainers copied to clipboard
Local development in Visual Studio is cumbersome
Regular iterative development of the project is cumbersome within Visual Studio. Connections often get lost to containers or Rabbit and intermittent errors arise sometimes requiring the project to be restarted or, in some cases, deleting the containers and recreating them.
Also, in a real life scenario, we would not likely develop a solution in this way. Docker is more or less a deployment concern so the solution should be developed locally as you normally would and the process of running in Docker would usually happen as a separate process.
I propose we create an .sln file geared to this way of working.
I did some work on this today and ran into a number of hurdles:
- SQL connection strings are hard-coded. This isn't the end of the world as we could run SQL within a container for local development
- Ditto for Rabbit
- A few variables (e.g.
EventBusConnectionandSqlConnectionString) are provided as environment variables indocker.compose.override.yml. Default values could be provided in appsettings.Development.json - The build configuration should be updated to not build the docker compose project
- The certificate file in the Identity project doesn't work, possibly because we changed the namespace of the class
Also, the API projects are still targeting .NET Core 1.1. Suggest these get updated to 2.0.