Building a MonoGame project with Protobuild

So, I have a game I’m doing in MonoGame and I’m trying to setup cross platform support using Protobuild. I’ve run into a few problems and was wondering if anyone else had experience with them.

  1. Adding MonoGame to my Protobuild definition. This causes Protobuild to download the Monogame source and put it in a sub folder (as expected). However generating my solution now pulls ALL MonoGame projects into the solution, even if I’m only referencing MonoGame.Framework. This causes a lot of clutter. My current workaround is to have MonoGame pulled and built elsewhere, and referencing the compiled dlls, which seems messy.

  2. I know Protobuild does their own thing with content projects, but I like using the Monogame content pipeline project. I tried adding my .mgcb to my protobuild project definition as MonoGameContentReference but it just doesn’t end up in the generated project.

Can anyone with experience using Protobuild help me get this working? Or will it just not work for my use case?

As to 1) that’s exactly how I do it. If anyone has a better way I too want to hear it.
As to 2) have you tried to include the pipeline-project like so

<Content Include="MonogamePipeline.mgcb" />

without the <CopyToOutputDirectory> element?
It’s a simple file so I think you have to add it as one, not as a project.

Ya, doing that does end up with the mgcb added to the project, however it’s not included in the build process. It seems the file needs to be added as a MonoGameContentReference type in order for builds to also build the content. I figured Protobuild would allow arbitrary file type tags and just copy it directly over, but that seems to not be supported.

You’re right. Sorry I can’t look myself at the Moment, but add it to the project manually as monogamecontentreference. Set it to copy if newer. Save. Open the project file and copy the generated entry to your protobuild config file.

That’s the way I always do it.
Hope that helps.

edit: should be <MonoGameContentReference Include="YourContentFile.mgcb" />