Try to run existing net451 MVC application with RTM bits on Linux. The RC2 bits worked fine on same machine. Application runs fine on Windows 7 and 10 with RTM bits. This is probably related to: https://github.com/aspnet/KestrelHttpServer/issues/730
Application runs normally.
Unhandled Exception:
System.AggregateException: One or more errors occurred. ---> System.DllNotFoundException: WS2_32.dll
Full stacktrace: https://gist.github.com/nmilosev/7c18f53d4e7184c0ec159390e67625bc
project.json: https://gist.github.com/nmilosev/29971e0f7a691f6b0f3016730e9fb628
dotnet --info output:
[nmilosev@toshiba-qosmio-x70-a-12x AlfaEvid]$ dotnet --info
.NET Command Line Tools (1.0.0-preview3-003180)
Product Information:
Version: 1.0.0-preview3-003180
Commit SHA-1 hash: d4193cd5c1
Runtime Environment:
OS Name: fedora
OS Version: 24
OS Platform: Linux
RID: fedora.24-x64
uname -a output:
Linux toshiba-qosmio-x70-a-12x 4.6.3-300.fc24.x86_64 dotnet/sdk#4283 SMP Fri Jun 24 20:52:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Also a note here: on kernel 4.6.3: I have to run:
export COMPlus_INTERNAL_ThreadSuspendInjection=0
otherwise I get a Segmentation fault on trying to run or restore an application.
mono -V output:
[nmilosev@toshiba-qosmio-x70-a-12x AlfaEvid]$ mono -V
Mono JIT compiler version 4.2.4 (tarball Thu Jun 23 18:49:17 UTC 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
/cc @anurse @davidfowl can you guys take a look if this is a CLI issue or Kestrel issue?
Kestrel had some serious issues running on linux/dotnet core rc2/mono/net451. Release 1.0.0 fixed everything (wow!), but it still does not run out of the box. The required steps to make aspnet core run on ubuntu linux net451 are:
Boom, it works!
@nmilosev
linkz
@pompomJuice using your suggestions (from earlier posts from various messages) I made it work! Thank you!
I did the steps listed here: https://github.com/aspnet/KestrelHttpServer/issues/963#issuecomment-232035413
And I can confirm that Kestrel/net451/rtm combination works fine...
... for simple applications. Sadly when trying to use EF Core I ran into this bug:
https://github.com/aspnet/EntityFramework/issues/2596
Sadly this issue was abandoned since it is a problem with mono DateTime conversion. I found that the suggested fix is to change the column type to DateTime2 but haven't tried it yet.
Did you run into this problem and did you find any workarounds?
I've also tried running my application as .NET Core application (commenting out code which uses non .NET core libraries) and it works perfectly there, no issues with DateTime columns so I guess this issue is with mono's SqlClient but .NET Core version runs great. :(
Luckily only one library in my application isn't compatible with .NET Core and the author announced that the .NET Core version is in the making, so I just have to wait.
I am unaware of ways to use .NET Core SqlClient while targeting net451, is that even possible? Or to use .NET Core for everything, apart from the incompatible libraries? That would be awesome.
Thanks again for the workarounds!
@nmilosev Great, thats good to hear.
We don't use EF because it is dog slow.
WRT you waiting for netcore versions of your 3rd party libs, try culling those parts off of your kestrel server and access them using NanoRpc. You can replace those RPC calls with the proper ones once the lib becomes available.
It seems that this issue has been resolved with @pompomJuice's workarounds. Will close. If the issue still reproes, please reopen on aspnet/Kestrel.