Will MonoGame fit my needs?

A shared project is nothing monogame-specific.
It’s a template in visual studio.

The way I usually setup cross-platform monogame-projects is somewhat like this:
MyGameSolution

  • MyGame (Shared Project, this is where your game1.cs will go)
  • MyGame.DesktopGL
  • MyGame.Android
  • MyGame…

The Shared Project is then referenced from the Platform-Projects.