evendotnet/Even

Support for mono

Closed this issue · 6 comments

Hi guys,

Just tested Even with DNX and Docker. The nuget package on nuget.org is not really well configured. It misses the right targets. I've created my own nuget package using myget (perhaps we could use it for CI) after removing the test project (seems to fail some tests). That package seems to work with DNX452, which makes sense since we currently use .net 452, however, it does not work with mono (needed for docker); mono only supports .net 451.

When I target the project to use .net 451 all is fine. Ok, if I do a PR for this?

nvivo commented

I'm almost certain downgrading (again) to 4.5.1 wouldn't hurt, but since .NET 4.5.1 is not supported anymore, perhaps mono will be releasing a new version pretty soon?

This may also be something with DNX restore. Maybe the new dotnet CLI to be released in the next version will resolve these monikers correctly?

I just don't want to keep downgrading the project every week. =) 4.6 is new, but 4.5.2 is almost 2 years old and is basically LTS, it should work on mono at this point. It should at least work without DNX restore. Does it?

The problem seems notto be with DNX restore, but with the version of Mono. I've tried investigating it and got some replies on Gitter

4.5.2 isn't in any released mono yet (well, at least the .xml that tells xbuild it's a valid target, which I believe is what @davidfowl is checking for in dnx)

So from that information I would say that Mono is not yet compatible with 4.5.2 (it is with 4.5.1). On the other hand, it might be compatible, but that the checking by the dnx is not up to date yet. Hopefully, will get this clarified by davidfowl.

I'm using Mono because of Docker. It seems Docker will be playing a huge role in building microservices. What is your view on this? It would be awesome if Even was compatible with Docker, as I'm planning to use Even as the 'standard' for building microservices. And with that I would love to have support for Docker.

Support Docker would mean supporting Mono, which would mean we would probably need to downgrade to 4.5.1 or even 4.5 like Akka.Net does. Visual Studio seems to resolve the nuget package for Akka.Net fine for both 4.5.1 and 4.5.2, and they target 4.5 (https://github.com/akkadotnet/akka.net/blob/dev/src/core/Akka/Akka.csproj#L12)

Finally, I also think it is weird why Microsoft is dropping support for 4.5.1 as Mono seems to not run on 4.5.2 yet. But like I said, I don't know that for a fact... will wait for davidfowl to respond to see if we perhaps can update the DNX to recognize the 4.5.2 target.

Got a reply

@promontis MS dropping support for 4.5.1 has nothing to do with Mono, Mono has no distinction between 4.5/4.5.1/4.5.2 anyway, it's all the same libs
I'd stick with targeting 4.5.1. you can run the lib on MS.NET 4.5.2 or 4.6. then to be on a supported MS release

That's what the folks from the aspnet team recommend. Makes sense. Based on this is it ok that we downgrade to 4.5.1 (still supported if people put the lib on 4.5.2 or 4.6) so that we can support mono as well?

nvivo commented

Sounds reasonable. Are there more code changes relative to the current branch?

No... no code changes... Will make the PR tonight :)

nvivo commented

Thanks @promontis! Merged!