0
\$\begingroup\$

I'm not home so the only computer I have access to is a Macbook, and now I would like to see how I could pack up projects to export for various platforms. But when I build my project it only produce a windows executable. Since the project is DesktopGL I can execute it via the command

mono-sgen64 DesktopGL.exe

but this requires to include as redistributable the mono runtime. can't I publish the project in order to target Mac OS specific output and then get a fully packed .app executable like I can with the publish to folder thingy on windows?

I'll appreciate any help and really thank you for your attention.

Also if I could have access to linux executables I would be highly thankful.

Here is a recap of what I've found already:

the publish to folder is only available for Mac with a .asp.net or core console project
https://docs.microsoft.com/en-us/visualstudio/mac/publish-folder?view=vsmac-2019

We can use appify.sh script but I don't know how it would read the content files etc. and this won't be compatible with linux
I've allready used this script to create a packed php executable but I never included ressources https://mathiasbynens.be/notes/shell-script-mac-apps

as I mentioned earlier I can execute the game properly using the mono executable so if I go that way I could create a run.sh script but this won't be the thing I'm looking into
i figured it by looking where was located the actual executable of the game once I've run the project

I've also found this nugget package which seems to add publishing parameters but I don't know if I can trust it https://www.nuget.org/packages/InfinitespaceStudios.MonoGame.Packaging/0.1.4-alpha

\$\endgroup\$
6
  • \$\begingroup\$ also I've remembered I could use wineskin but I really don't trust this thing \$\endgroup\$ – Louis BERTRAND Aug 12 '20 at 16:10
  • \$\begingroup\$ You don't need to include the runtime for a Windows build because Windows already has the .NET runtime built-in. Macs don't, so the user needs a Mono runtime or .NET Core to be able to run your managed code. \$\endgroup\$ – DMGregory Aug 12 '20 at 16:17
  • \$\begingroup\$ so in order to be able to execute the project I must include it? \$\endgroup\$ – Louis BERTRAND Aug 12 '20 at 16:31
  • \$\begingroup\$ when I create a monogame.macosx project, the game is built correctly as a .app package, I think I'll do an other project based on that and copy the code to export to Mac. (I'll use a git with only the code) \$\endgroup\$ – Louis BERTRAND Aug 12 '20 at 16:40
  • \$\begingroup\$ Sounds like you've answered your question. Be sure to post the steps of your solution as an Answer below. \$\endgroup\$ – DMGregory Aug 12 '20 at 16:41
1
\$\begingroup\$

in order to create a .app executable for Mac OS with a DesktopGL project from Visual Studio Mac 2019 , you can create a second project and make a git that shares the code for the two projects. Then you can just compile the MacOS project and get your packed project but this is clearly a workaround rather than a real solution to the question I've asked. Else the easiest solution is to include the linux and the Mac OS executables for mono like said earlier.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.