For these projects generated directly from your template, I created them on my Desktop.
Not my typical location, but there shouldnāt be any permissions issues.
I downloaded the latest version and used the template Monofoxe Cross Platform Desktop Project.
I immediately attempted to build the template after creating it and got this out:
1>------ Build started: Project: Monofoxe Cross Platform Desktop Project, Configuration: Debug Any CPU ------
1> NoPipeline v1.1.0.0
1> Reading MGCB config C:/Users/Cory/Desktop/Monofoxe Cross Platform Desktop Project/Content/Content.mgcb
1>
1> Reading setting: /outputDir:bin/$(Platform)
1> Reading setting: /intermediateDir:obj/$(Platform)
1> Reading setting: /config:
1> Reading setting: /profile:Reach
1> Reading setting: /compress:False
1>
1> Reading reference: C:/Program Files (x86)/Monofoxe Engine/v2-dev/lib/Pipeline/Pipefoxe.dll
1>
1> Reading content:Content.mgcb
1> Reading content:Graphics/default.spritegroup
1> Reading content:Effects/AlphaBlend.fx
1> Reading content:Fonts/Arial.spritefont
1> Finished reading MGCB config! Got 4 items.
1>
1> -------------------------------------
1>
1> Reading NPL config.
1>
1> Reading reference: C:\Program Files (x86)/Monofoxe Engine/v2-dev/lib/Pipeline/Pipefoxe.dll
1>
1> Reading content for: Content.mgcb
1> Reading Content.mgcb
1> Reading content for: Audio/Music/*.ogg
1> Reading content for: Audio/Sounds/*.wav
1> Reading content for: Graphics/Default.spritegroup
1> Reading Graphics/default.spritegroup
1> Reading content for: Effects/*.fx
1> Reading Effects/AlphaBlend.fx
1> Reading content for: Maps/*.tmx
1> Reading content for: Fonts/*.spritefont
1> Reading Fonts/Arial.spritefont
1>
1> Finished reading NPL config!
1>
1> -------------------------------------
1>
1> Checking integrity of the final config. Hold on tight!
1>
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Content.mgcb
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics/default.spritegroup
1> Checking watch for Default/*.png
1> Checking wildcars for: C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default\monofoxe.png
1> Modifying: C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default\monofoxe.png
1> Checking watch for Default/*.json
1> Checking wildcars for: C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default\monofoxe.json
1> Modifying: C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Graphics\Default\monofoxe.json
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Effects/AlphaBlend.fx
1> Checking C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Fonts/Arial.spritefont
1>
1> Checking reference: C:/Program Files (x86)/Monofoxe Engine/v2-dev/lib/Pipeline/Pipefoxe.dll
1>
1> -------------------------------------
1>
1> Saving new config as C:/Users/Cory/Desktop/Monofoxe Cross Platform Desktop Project/Content/Content.mgcb
1>
1> Done! \^u^/
1>
1> Unhandled Exception: System.NotSupportedException: The given path's format is not supported.
1> at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
1> at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
1> at MGCB.MGBuildParser.ParsePreprocessArg(String arg, List`1 output, Stack`1 ifstack, Boolean inResponseFile)
1> at MGCB.MGBuildParser.ParsePreprocessArg(String arg, List`1 output, Stack`1 ifstack, Boolean inResponseFile)
1> at MGCB.MGBuildParser.Preprocess(IEnumerable`1 args)
1> at MGCB.MGBuildParser.Parse(IEnumerable`1 args)
1> at MGCB.Program.Main(String[] args)
1>C:\Program Files (x86)\MSBuild\MonoGame\v3.0\MonoGame.Content.Builder.targets(84,5): error MSB3073: The command ""C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools\MGCB.exe" /quiet /platform:DesktopGL /@:"C:\Users\Cory\Desktop\Monofoxe Cross Platform Desktop Project\Content\Content.mgcb" /outputDir:"bin\DesktopGL\Content" /intermediateDir:"obj\DesktopGL\Content"" exited with code -532462766.
I then noticed that I couldnāt open the Content.mgcb at all in the MonoGame Pipeline Tool, getting the following error:
Content.mgcb: Failed to open the project due to an unknown error.
If I go into the .mcgb file and remove the following section, I can then open it in the editor:
#begin Content.mgcb
/importer:AssetInfoImporter
/processor:PassThroughProcessor
/build:Content.mgcb
I then noticed if I try to add in the .mcgb file, an Importer does show up in the drop down, called āAsset Info Importer - Monofoxeā. I set the āNo Processing Requiredā dropdown for the Processor for the .mgcb asset as well to match your template. However, then clicking the option to build in the MonoGame Pipeline Tool does nothing, and closing the trying to reopen the .mgcb file in the MonoGame Pipeline Tool causes it to start crashing again.
If I remove your .mgcb asset from the Content.mgcb, the content builds fine. However, then building the entire project still gives me the error in the Output, so something else is up.
I took a look at Content.npl and it has this path:
%PROGRAMFILES%/Monofoxe Engine/v2-dev/lib/Pipeline/Pipefoxe.dll
The problem is that %PROGRAMFILES% resolved to C:\Program Files
However, C:/Program Files/Monofoxe Engine/v2-dev/lib/Pipeline/Pipefoxe.dll doesnāt exist on my machine.
The program is installed under C:\Program Files (x86)\Monofoxe Engine\v2-dev\lib\Pipeline\Pipefoxe.dll
So pathing might be an issue as a result of the (x86).
Iām running a Windows 10 64-bit machine - but I think nowadays Iām probably what most users would be running.
Changing this didnāt resolve the project building issue, but maybe it is a hint to other path issues that might be in the toolchain?
In regards to NuGet, I think we are on the same page of making it as simple as possible.
For me, when Iām working with a git repository Iām looking to clone it, build it, and run it. Ideally this means not having to know what additional software Iād have to install for local dependencies. If any libraries can be replaced with a NuGet equivalent, this would be ideal. This is also a huge help when setting up a CI/CD pipeline, as generating a new build agent would ideally not require the installation of custom software in order to automate it in a cloud (like DevOps).