How to build pipeline tool from source?

Hello.
I just started using Monogame. And i try to avoid installing the package, but instead use nuget and git.
So i have two questions:

  1. How do i actually build pipeline tools from source?
  2. Is there alternative way to load assets into my game?

Thank you! :slight_smile:

1 Like

Hi @GrethTol, Welcome to the Community!

There are multiple ways to do it, but right now I am not the best one to say anything.

Are you familiar with GitHub?

Hopefully someone drops by fast, just wanted to say Hi!

Happy Coding!

1 Like

Oh, that’s kind. :slight_smile:

Yes :smiley: I actually clone the project, but don’t know what i have to build to get executable.

There should be a CSPROJ file in there.

EDIT

There is.

Open it with VS and save for a .SLN file.

Hi!

First off, the new 3.8 prerelease pipeline tool (now called MGCB Editor) is a .NET Core tool, which basically means it’s a nuget package that contains an app. There’s no real “installation” – aside from the optional mgcb-editor --register command, nothing touches your registry or is written to your system aside from the standard nuget and dotnet folders. So if you avoid installing things to not clutter your system (like me), I would read up about .NET Core tools and maybe reconsider, because .NET Core tools are lightweight, unintrusive, and pretty cool from a technical standpoint.


Now if you still want to build the pipeline tool from source, there are two ways.

  1. You can open the MonoGame.Tools solution (MonoGame.Tools.Windows.sln if you’re building for Windows) and build directly in Visual Studio like normal. Doing it this way, the platform-specific Editor project is the best option (e.g. MonoGame.Content.Builder.Editor.Windows). The main MonoGame.Content.Builder.Editor project is just a launcher that wraps the 3 platform projects.
  2. You can use the Cake tool to build. Cake is itself a .NET Core tool, so this option might not be as attractive if the whole point is to avoid installing tools. This would look like
    > dotnet install --global Cake.Tool
    > dotnet cake build.cake -build-target=BuildTools
    

And finally, if you want to avoid using the built-in content pipeline altogether, yes there are various other options for loading assets that you can find examples of in the forums.

1 Like

Thank you. Will try.

@ jnoyola
Thank you very much for your reply!

I build the tool, but facing another problem:
image
problem is that i already have latest version. Do i need a specific version and how to recognize which one?

Did you try clicking yes?

1 Like

Yes, it’s redirect me to official net core download page. But i don’t know which version of .net core i should install. I build the pipeline tool with latest version available.

You’ll need .NET Core 3.1. You can see that if you look at the Target Framework in the project properties.

But I think you must already have the SDK if you were able build it. This error occurs when running it, not building it, right? Can you explain which file or project you ran and exactly how you ran it? (e.g. clicking play on the MonoGame.Content.Builder.Editor project in Visual Studio, double clicking on mgcb-editor-wpf.exe, etc.)

Yes, I built a project. Then i go to MonoGame\Tools\MonoGame.Content.Builder.Editor\obj\Debug and run mgcb-editor-wpf.exe - this is where the warning shows up.

What is the output you get from dotnet --version?

3.1.301

First thing to try: I never recommend trying to run anything from the obj folder. Those are always intermediate files. Try running from the bin folder.

Second: Try running by clicking the play button in Visual Studio, if that’s what you’re using to build.

EDIT: the bin folder for this repo is the Artifacts folder in the repo root directory.

1 Like

Does it work if you try to navigate to the folder with the solution from the command line and type dotnet build MonoGame.Tools.Windows.sln?

Thank you! mgcb-editor-wpf.exe from Artifacts folder works great!

1 Like

Thank you, i figured out. :smiley: