[Opensim-dev] test .net4.8 and vs2019/mono 6.10

Mike Dickson mike.dickson at utopiaskye.com
Sat Sep 12 16:38:36 UTC 2020


A couple of things.

On 9/12/2020 12:08 PM, Leal Duarte wrote:
> Hi
>
>    -  for those with .net4.8 and vs2019 on windows installed i added 
> runprebuild19.bat
>
>         this will create a solution only valid to vs2019, main opensim 
> sources will be compiled against .net4.8 API using vs2019 last compile 
> version ( version 16)
>
>     - for those on linux with at least mono 6.10 ( didn't test other 
> versions) runprebuild19.sh will do identical for mono.
>
Interesting you're going down this path. I had just finalized my next 
release for Utopia Skye running 4.7.2.   For quite a while you made 
noise that you thought this was a waste of time so I'm curious what changed.

  Note:  4.8 isn't automatically installed with VS2019 Community 
edition.  You'll need to download the dev kit for it.  The runtime 
should be there if you're running an up to date copy of windows 10.  
Mono doesn't document support for compliance with 4.8 which is why I 
went with 4.7.2 for my next PRODUCTION rollout. I have no doubt that 4.8 
works but I didn't want to take that step yet since I run production on 
Linux/Mono.

You might also need to add a dependency to System.Drawing.Common.  The 
definition for Image has been moved to there.  I build a version of 
libopenmetaverse targeting netstandard2.0 so the reference to the new 
package is required. YMMV.

>> this is basicly a test to see how our current main sources hold on 
>> the migration path from 4.6 to 4.8
> - be very carefull when changing from 4.6 to 4.8 targets and vice 
> versa. Make sure you do clean the solution before runprebuild*, even 
> better just to it on clean pull folders.
>
> since it seems to work fine, there should be no reason why advanced 
> users ( that may not mean you!! :p ) can't use the supposed better new 
> compilers.
>
Even in mono using anything from 4.7.2 on means you're running on at 
least the NetCore 2.1 JIT compiler. It should make for a measurable 
performance improvement.  I'm noting a good performance boot in my 
release on USG.  I'll have it grid wide in the next week.  Been testing 
on my beta grid for about 2 weeks now. Looking forward to getting rid of 
all the "unsafe" code and using SPAN and recent compiler features.

I release on a monthly schedule with a defined test period. All my 
changes go on a branch and get merged down to a development tree for 
integration and then finally to master when its a fully tested release.  
I can say with certainty that trodding this path especially with the 
changed dotnet version added some initial instability.  I've also 
learned alot on my journey to dotnet core which is now in striking 
distance (I have a feature branch running it now, prebuild is gone and I 
use nuget for package management). If there was actually a real core 
team where dialog happens I'd be there talking about my experiences.   
My libomv and opensim tree is public and I pull from core frequently. If 
anyone would like to discuss this work or what I'm doing feel free to 
contact me.

> Main opensim will stay on 4.6 because many still have old machines 
> with old tools. So all patchs etc should still only use up to c# 6 specs.
>
That's a shame.  even 4.7/8 is 2+ years old.  There are some significant 
enhancements in the language you can't access without the changes.

> (
>
> note about use of var: that is a dumb thing to use, use only when the 
> right side explicit tells the type
>
> ok:
>
> var tmp = new List<potatos>(32);
>
> Not Ok;
>
> var tmp = MyNiceThing();
>
> )
>
I will not comment on this beyond simply to say I don't agree. Its your 
POV but not one shared by the language designers.

Mike


> regards,
>
> Ubit
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev


More information about the Opensim-dev mailing list