[Tutorial] Monodevelop and .NET 3.5 on Debian based Linux (Eg: Ubuntu)

Started by rubenwardy, July 20, 2016, 07:57:55 PM

Previous topic - Next topic

lperkins2

On debian based systems, just install mono-reference-assemblies-3.5
It worked for me anyway, in a debian-testing chroot.  Other distros can theoretically get the reference assemblies from the mono git repository, but I'm not sure where to install them.

LWM

For what it's worth, I'm running SolydXK, which is Ubutu-ish and based on Debian.  I didn't have a functional mono installation available from my default repositories.

I have added the following repository (using Synaptic, which is my usual package manager of choice):
  http://download.mono-project.com/repo/ubuntu/
  vs-trusty
  main

Then I installed 'monodevelop' and lo! it works.

I have found that the windows program dnSpy is fantastically superior to anything I could get running easily under Linux, and as I can duel boot, I stopped looking.  I don't know if it runs under wine, but it works better than mono at dealing with assemblies, and I just export stuff and then reboot to do actual work on it with mono.

--LWM

lperkins2

JetBrains Rider seems to do a good job for exploring assemblies, but it's kinda spendy.  I used it for the 30 day trial, and wish they had a community version like for their other IDEs.

On the topic of mono versions, I've taken to invoking mcs with -notstdlib, and then listing the specific system libraries I want used (RimWorld/RimWorldLinux_Data/Managed/System.dll et cetera).  This seems to be the most stable way to get the right versions of things (3.5 for RimWorld, 4.something for MonoGame projects). 

The full command is something like
mcs -nostdlib -target:library -out:../Assemblies/ModName.dll `find . | grep cs$` `for f in $Reference/*dll; do echo -r:$f; done;`

Where Reference points to the Managed folder (or wherever the appropriate mono system libraries are located).

llunak

These instructions appear to be outdated by now (RimWorld now uses .NET 4.7.2 and not 3.5, and there has not been a stable release of MonoDevelop for over two years, so it possibly may not work on latest distributions). If you'd like to mod RimWorld on Linux and cannot get it to work using these instructions, I've added my way to the wiki : https://rimworldwiki.com/wiki/Modding_Tutorials/Setting_up_a_solution#Mono