Building Content Pipeline Tool from Source

I updated from MonoGame 3.7.0.1129 to 3.7.0.1681 and have had issues with the Content Pipeline Tool reading in Tiled maps from MonoGame Extended. I re-built 3.7.0.1129 from source, but I have no clue how to build the pipeline tool from that version so I can continue working on my game, which heavily relies on the Tiled maps.

I couldn’t find instructions on the GitHub nor any VS (or other IDE) solution that I can find in the repository or generated from Protobuild. Does anyone know what I need to do to build the tool?

Here is the link to building from source. Run protobuild inside the repo’s root with the proper arguments and then open the MonoGame.Framework.Windows.sln solution and build. Then open the tools directory in the root of the repo you cloned, then navigate: Pipeline > bin > Windows > AnyCPU > Debug / Release and run Pipeline.exe. Or you could replace the current installation’s “Pipeline.exe” with the new one so that it’s already usable within VS.

I’m having trouble running Protobuild there. I get the following errors:

Starting resolution of packages for Windows... Querying: https-git://github.com/MonoGame/MonoGame.Dependencies.git Querying: https-git://github.com/ioctlLR/NVorbis.git Resolving: https-git://github.com/MonoGame/MonoGame.Dependencies.git Package type not specified (and no file at ThirdParty/Dependencies\.git), requesting binary version. WARNING: Source package cache is corrupt, removing and cloning again... System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.Combine(String path1, String path2) at Protobuild.GitUtils.FindGitOnSystemPath() at Protobuild.GitUtils.GetCachedGitPath() at Protobuild.GitUtils.RunGitInternal(String str, String workingDirectory, String consoleWriteLine) at Protobuild.SourcePackageResolve.GetSourcePackage(String url) at Protobuild.SourcePackageResolve.ResolveGit(GitPackageMetadata gitMetadata, String folder, String templateName, Boolean forceUpgrade) at Protobuild.PackageManager.Resolve(IPackageMetadata metadata, PackageRef reference, String templateName, Nullable'1 source, Boolean forceUpgrade) at Protobuild.PackageManager.<>c__DisplayClass15_3.<ResolveAll>b__5() at Protobuild.PackageManager.ResolveAll(ModuleInfo module, String platform, Nullable'1 enableParallelisation, Boolean forceUpgrade) at Protobuild.ActionDispatch.PerformAction(ModuleInfo module, String action, String platform, String[] enabledServices, String[] disabledServices, String serviceSpecPath, Boolean debugServiceResolution, Boolean disablePackageResolution, Boolean disableHostPlatformGeneration, Nullable'1 taskParallelisation) at Protobuild.ActionDispatch.DefaultAction(ModuleInfo module, String platform, String[] enabledServices, String[] disabledServices, String serviceSpecPath, Boolean debugServiceResolution, Boolean disablePackageResolution, Boolean disableHostPlatformGeneration, Nullable'1 taskParallelisation) at Protobuild.DefaultCommand.Execute(Execution execution) at Protobuild.MainClass.Main(String[] args)

Any ideas?

Did you clone the submodules?
Here is what I am getting…

P:\MonoGame>protobuild
Starting resolution of packages for Windows...
Enabled parallelisation; use --no-parallel to disable...
Querying: https-git://github.com/MonoGame/MonoGame.Dependencies.git
Querying: https-git://github.com/ioctlLR/NVorbis.git
Resolving: https-git://github.com/MonoGame/MonoGame.Dependencies.git
Git repository present at ThirdParty/Dependencies\.git; leaving as source version.
Git submodule / repository already present at ThirdParty/Dependencies
Resolving: https-git://github.com/ioctlLR/NVorbis.git
Git repository present at ThirdParty/NVorbis\.git; leaving as source version.
Git submodule / repository already present at ThirdParty/NVorbis
Package resolution complete.
Starting generation of projects for Windows
Loading: 2MGFX
Loading: 2MGFXReferences
Loading: Framework.Content.Pipeline.References
Loading: FrameworkReferences
Loading: FrameworkReferences.Net

…and goes on and on without a single error.

Just downloaded, didn’t clone. Let me try with github and get back to you.

you can try to download https://github.com/MonoGame/MonoGame.Dependencies/
and unzip it into MonoGame/ThirdParty/Dependencies/

nah, github installed now. downloading as zip was just the lazy way.

FYI, it works fine if I clone it. thanks.

2 Likes