Having a heck of a time getting monogame to build

I did this before and i dont remember it being this hard.
Anyways i cant get the pipeline solution pulled down from develop i guess.
I mean the folder is there but protobuild isnt building a installer or a pipeline tool.
I installed tortise mygit and even git for windows im not sure if im not inititializing the submodules right or what, whatever that means.
Im sure i did something wrong i have no clue.

Can someone point me to the correct tutorial to fully step by step setup any of these programs (one that actually states which program they are using with monogame) that will actually pull down monogame and allow me to compile it with instructions that are in english ?

this is driving me nuts two days and i cannot get monogame to build properly zero code written, I looked at god knows how many webpages of tutorials, need some help here i dont even think i have git bash setup properly maybe i dunno.

I cant find protobuilds log file but i see what looks like a error flash by ?.

what am i missing here.

I don’t think it’s supposed to. I think you can compile the Windows installer yourself if you have NSIS installed, but I haven’t tried myself. The nsi script is in MonoGame/Installers/Windows/. To build the pipeline tool run msbuild/xbuild or build it in Visual Studio.

It’s easier though to download the latest installer from the build server though.

Grab the develop branch.
Update submodules.
Run Protobuild.
Open the relevant solution file in Visual Studio.

Update submodules

What exactly are the submodules and how do i know if they actually updated ?

From the command line in the root of the MonoGame folder

> git submodules update --init

(initializes the submodules if required and updates them to the latest specified in the .gitmodules file). Git GUI clients usually have a menu item somewhere to do this. For example, with TortoiseGit you right-click on the MonoGame folder and then select TortoiseGit -> Submodule Update....

To check if you have the submodules updated to the correct version, run git status on the command line in the root of the MonoGame folder. If it says ThirdParty/Dependencies is modified and you know you haven’t changed any files in that folder, then you need to update submodules.

Forgive my ignorance.

I deleted everything then redid everything from scratch by just using gitbash this time.

With everything else completed i come to this step in the instructions.

Open the solution for your development platform for building the pipeline and content tools.

I cannot complete the above instruction as a separate step because there is no separate solution for the pipeline. Protobuild is not generating one.

Yet within Vs when i build the monogame.windows solution it compiles with no errors. Their is a content pipeline project within the previous solution. So is the later step in the instructions outdated ? Or is there in fact supposed to be a separate content pipeline solution to be buillt ?

It appears that the pipeline is built in monogame->tools->pipeline.
but in the install folder i don’t get a installer

All i get is a .nsi file. Do i need to make a installer as the other fellow said ?

I thought that i remembered before that a fully successful build would generate a installer via protobuild is this not true anymore ? Is my memory faulty, it has been a long time since i last did this. Or is something wrong still.

How then do i run a test against this build with a game1 project if it doesn’t actually create a installer ?

What do you guys do when testing then. Add the templates to vs and then manually link all the references to the built monogame folder is this correct ?

Something seems off, am i missing something, im not sure what the end result folders are supposed to look like, when i last manually linked it all in on linux it got ugly as i hacked it all in, that was long long ago, it was fine for my purposes then, but…
Im trying to do this properly for a series of tests. I want to ensure i have the set up in order.

There is no separate solution. The one solution per platform builds the framework, unit tests and tools (Pipeline GUI, MGCB).

The solution does not build an installer. I usually test the framework by adding a reference to the MonoGame project in my game project. I run the unit tests direct from the solution by setting it as the startup project. I test templates by manually zipping them up and copying them to the VS templates folder.

Open the solution for your development platform for building the pipeline and content tools.

“The solution for your development platform” is the solution you have opened in the screenshot. It’s the MonoGame.Framework.Windows solution. Since you built the Pipeline.Windows project the MGCB.exe should be at MonoGame/Tools/Pipeline/bin/Windows/AnyCPU/Debug/MGCB.exe.

If I want to use the latest build I manually change the references if I started out with a template. I don’t think you should manually create the installers.

EDIT: Seems like KonajuGames beat me to it ^^

Thank you both ill give this a try tomorrow.

I got it to work.
I ran into a couple of problems though.
I couldn’t figure out how to get the templates to show up though under vs.
So i downloaded the nightly put it in and used a template from there.
Then i just deleted the monogame reference that pointed to the programfiles folder.
Replaced that to the github version however it seems when i make a change to monogame i must run protobuild then rebuild the project delete the reference and rea-dd it?
It was the only way i could get it to work without a error.
I imagine you guys have a easier way to run thru this process or is this just standard.

Under the nightly build.

  1. The vs2013 opengl project template is missing !
  2. The universal template errors out when just trying to run a new project !
  3. The open gl solution that is currently in the github build version only has 4 projects and is missing the content pipleline project !

note im running win7 vs 2013.

I added a append to the Color.ToString() Which just made it return “MonoGameColor” instead of “Color”. as a test Yaaay !

If you reference a dll you should only have to rebuild MonoGame and your project (nothing with the reference or Protobuild). Though I find it easier to add the MonoGame project to the solution and reference that project itself rather than a dll. VS will build MonoGame if you run your project and something changed in MonoGame. You shouldn’t have to run Protobuild again in any case.

Ah i think i see what your saying.

Basically just make a solution with a game1 and add the monogame project to it, then set the game1 solution i made as the startup project.

btw the nightly install has tons of errors going on with the pipeline tool under win7 vs2013. Adding a new spritefont throws this exception, but edit add new is ok. I cant add or edit add a existing image at all now in either case.

Im thinking when i get to that point its not going to work anyways.

Jup, and add a reference to the MonoGame project from your game project!

The pipeline bug is known, I guess it’s just a bit unstable right now because of the transition to Eto.Forms. #4786 will fix this.

Re: ok i figured it out, man is this a pain.

Ok i been trying to get that to work for hours and it just simply will not.
Worse however i did get it to work before.
And any new projects i make will just act like it cant see the dll reference, i have zero clue what in the world is going on.
How can two projects that are exactly the same other then the name be in a state were one works one will not.

works i have no idea why

wont work no idea why

i would think this would work but it dont

The monogame prj only produces a dll in windows bin or obj neither work in the bottom two cases. how the top case works i have no idea even when i delete the re-add the dll it works. why its working is really driving me nuts when the other two are not.

maybe i should turn warnings back on more often.

Warning 1 The primary reference “MonoGame.Framework, Version=, Culture=neutral, processorArchitecture=MSIL” could not be resolved because it was built against the “.NETFramework,Version=v4.5” framework. This is a higher version than the currently targeted framework “.NETFramework,Version=v4.0”. Game1testchange

Because i tryed the latest nightly installer too, to see if the pipline was fixed and just copyied a solution then altered it, that worked. When i put the old version back in, because the new one has a messed up content pipeline its targets were incorrect but the pipelien was working.
The templates are targeting 4.0 not 4.5 the application settings were still the same cause thats not in the assembly file dooooh sheeshh new version targets

So the target framework was 4.0 with the vs installed templates and old monogame version. So i just had to change the target framework. I might have switched the system.dlls too but it worked very aggrivating though.

Still not sure this will work with the old pipeline in the new framework but im going to try. If it wont i might be out of luck till it gets fixed.

RE: it does yaaay.

btw there are a lot warnings on exit sharpdx is throwing first chance exceptions.

Yeah, i’ve had my struggles with the target framework error too, but at least you’ll know for next time :stuck_out_tongue:

I think it should pretty much work except for effects.
Edit: You can always use te mgcb you built from develop from the command line. Or manually edit the mgcb file.

On the exit warnings, I got those too, but just ignored it since it wasn’t really an issue.

Edit: You can always use te mgcb you built from develop from the command line. Or manually edit the mgcb file.

I was never good with the whole content pipeline to be honest.
If the latest nightly installer mgcb is crashing on me even if i build it wont that just crash too ?
Crossing my fingers that no major changes have occured yet to the pipeline importing algorthms ? because the way i have it now i have the old mg installed and can just make a project and relink it im about to test it.

RE: excellent yep it works, got the old pipeline in the nightly.
i can just change out the ref from a project template of the currently installed older monogame.

When you add the MonoGame project to your solution, make sure the reference in your game project is a Project reference. It looks like you still have it as an assembly reference.

I was doing it that way in the first place. Here i was just doing it with the direct link to the dll to save time, to figure out why it wasn’t working. I was swapping out the dlls just didn’t realize it was the target setting.

you guys rock.