Kestrelhttpserver: Provide information on RTM to mono community

Created on 30 Jun 2016  路  11Comments  路  Source: aspnet/KestrelHttpServer

Right now Kestrel RTM doesn't run right out of the box on mono (although RC2 worked fine).
The issue is System.DllNotFoundException: System.Native - the issue and workaround are discussed here: https://github.com/aspnet/KestrelHttpServer/issues/942

Right now people upgrading from RC2 or trying for the first time on mono (many libs are not ported to Core yet, so this still IMHO would be large user base on *nix systems) would face this problem. Right now the only hope of finding the solution is either finding the aforementioned, closed bug (being lucky) or figuring one oneself (lots of time & skill needed).

There should be information for mono users with clear communication what is supported and what is not what is working and what is not and what potential steps are needed to make Kestrel work lest a lot of people would get frustrated and waste a lot of their time.

question

All 11 comments

Mono is not supported. It's a best effort. We don't test it. We should just put it somewhere on our docs site.

/cc @Eilon

Well then M$ should really throw some money at this problem. Don't you guys understand what a major issue this is. It is HUGE!!!!!! Get it to work, hire some code monkeys. Anything!

I guarantee you there are only very small issues with mono that could easily sorted out by core developers. Heck you guys are basically 99% there, hosting a asp.net core app on ubuntu linux 451 almost almost works. Mere inches away from total success, we just need a little push over the line here.

Linux has such a rich environment for devops, with .net core on board we could finally settle on the development platform of the future! Get it done! We want it now!

PS, net451, not netcoreapp which is completely useless because we can't draw on any 3rd party libraries. Oracle for example are too busy in court suing for a quick buck than to recompile their .net libraries for some new platform. Or NLOG who supposedly support netcoreapp but in reality fails with redicilous fundamental errors about what assembly version of Object it expects. We need net45x

@pompomJuice Core is moving towards full framework compatibility in the future https://blogs.msdn.microsoft.com/dotnet/2016/05/27/making-it-easier-to-port-to-net-core/

Kestrel works on mono if you install the right native dependencies namely libuv and System.Native.

https://github.com/borgdylan/corefx/tree/sysnative_standalone2/src/Native/System.Native
For Linux a simple make and sudo make install will suffice.

@benaadams core still lacks 32 bit support. It is why I made System.Native build standalone on Linux for both x86 and x64.

@borgdylan Thanks for the goodies.

@pompomJuice I just shared what I needed myself. Mono will not be dying out until .NET Core is on all major architectures and until it has feature parity with Mono/.NET.

I'm trying to run Kestrel on FreeBSD on raw mono (mono WebApplication.exe). After installing libuv I get "WS2_32.dll not found". It looks like 1 step from working server, but this workaround doesn't work. What can I do to fix this error?

Solution was simple. To run Kestrel with raw mono just delete System.Runtime.InteropServices.RuntimeInformation.dll from project files and the correct dll from mono will be used.

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

halter73 picture halter73  路  4Comments

benaadams picture benaadams  路  5Comments

fabiobraganet picture fabiobraganet  路  7Comments

neyromant picture neyromant  路  4Comments

netcore-jroger picture netcore-jroger  路  7Comments