Hi,
So we have some scripts that generate dlls from some dynamically generated code (GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format). Previously, we have been using commandline mono/mcs to do this like so:
mono --runtime=v2.0.50727
mcs -langversion:ISO-2 -sdk:2 -r:$unityengine_dll -target:library -out:$output
When we do this, we’ve always had warnings come up in the following form (which makes it look like the target runtime is not actually being set correctly). Even with these warnings, in Unity 5.4.x it would load the dll fine and compile. In Unity 5.5+ it doesn’t seem to be able to load the dll and dies on compilation errors (where it doesn’t find things which should be defined in the dll)
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
No framework specified; defaulting to 4.0.30319.42000
Has something changed in Unity that we need to account for with our compiling of dlls?
If so, what do we need to change? I have been playing around with the --runtime, --langversion, and -sdk -lib options of mono/mcs to no avail. What should these be set to for compiling for unity? Have also tried using both a current up-to-date version of mono to compile and also the mono that comes with Unity, both have the same issue.