Can ServiceStack run on .net core on Linux? - servicestack

The documentation about Linux hosting only mentions mono. Can the new .net core and asp.net core (DNX) also be used?

ServiceStack now supports running on .NET Core from October 20, 2016 v4.5.2 Release.
Nearly all of ServiceStack’s features are now available across 21 of our most popular NuGet packages, inc. OrmLite support for SQL Server, PostgreSQL and Sqlite. We’ve been able to achieve excellent integration and code-reuse where your ServiceStack AppHost can be registered as a .NET Core module and most of your Service Implementation using ServiceStack libraries remains unchanged.
We’ve ported a number of existing Live Demos to .NET Core providing example projects so you can easily compare .NET 4.5 ServiceStack code-bases with what it looks like in .NET Core at:
https://github.com/NetCoreApps/LiveDemos
All .NET Core Live Demos are running on Linux / Docker using AWS ECS Container Service.
We’re maintaining .NET Core packages isolated from the Main NuGet packages separated with a .Core suffix until we’re satisfied .NET Core has been battle-tested in the wild which will enable us to make frequent releases outside of the main .NET 4.5 release cycle.
Please see the full v4.5.2 Release Notes for details on running ServiceStack on .NET Core, its integration story and the different conventions in .NET Core.

Related

Will .NET Core applications work on a server with only .NET Core installed?

I am planning to buy a Linux server. I have some APIs written in .NET Core (C#) and so I will be installing only .NET Core on my sever.
When I deploy my APIs, will they work with only .NET Core or will there be some dependencies on .NET Framework, too?
If you will be running the .Net core via kestrel server, you won't be having any dependency on .Net framework for execution.
More details on https://stackify.com/what-is-kestrel-web-server/
Net Core is “bundled” so it runs isolated anyway.. Go with the new Net Core and you’ll be fine. It has no dependencies in Net Framework

Can I run .NET Core Application under a .NET 4.6/7 Site vise vera

I new to .NET Core and our IIS configuration is as so. We run a single web site with about 70 .NET 4+ applications under it, each app runs under is own user and app pool. Our developers have requested .NET Core to begin upgrading applications.
The site is not accessible, only the applications. The applications do not inherit from the site web.config (which is generic) they pull from their own.
Would it be better to upgrade the site to .NET Core and then upgrade the apps, or leave the site at .NET 4 and upgrade the apps to .NET Core?
Use Net Standard, you should be able to use code across all projects.. Ensure your Net Framework projects are on the latest version and you should be fine. I believe you use code from Net Core projects in Framework, but not the other way round

Compatibility/ Documentation with ML.NET on MVC5

I've read online and watched some videos concerning ML.NET and the usage of it. All the videos and documentation that I've read online were on ASP.NET Core. I was wondering if it was possible to use the ML.NET on MVC5 (Since that's what we've been taught in class and have to use for our project)
If it is compatible are there any links or suggestions on how to go about it?
ML.NET requires .NET Core in version 2.1 (or newer) or .NET Framework version 4.6.1 (or newer):
First, ensure you have installed .NET Core 2.1 or later. ML.NET also works on the .NET Framework 4.6.1 or later, but 4.7.2 or later is recommended.
Source: GitHub page for ML.NET
As long as your app is running on one of those .NET implementations, you should be good to go. Regardless of the app type (ASP.NET, Winforms, ...).
You can find samples here.

Can you use Windows to develop, build, and publish .NET Core 2.0 services for a Ubuntu based Service Fabric Cluster?

I would like to build .NET Core 2.0 services for a Ubuntu based Service Fabric on my windows machine. From the docs, it seems like I can't use Visual Studios to do this.
Does anyone know the workflow for developing, building, and publishing services in this way? Can't find anything in the docs.
Yes. Anything you compile targeting .NET Core will run on any of the platforms supported by .NET Core. However, there is no built-in publishing support, that would be a separate operation you'd have to set up yourself.
You can find the list of currently supported platforms on the Runtime Identifier page. The current Ubuntu list is:
ubuntu.14.04-x64
ubuntu.14.10-x64
ubuntu.15.04-x64
ubuntu.15.10-x64
ubuntu.16.04-x64
ubuntu.16.10-x64

Is there any advantage to a .NET Core library over .NET Standard library?

I'm porting my applications from VS2015 to VS2017 and trying to figure out the right migration path. I'm also moving my web services to .NET Core to take advantage of deploying to Linux or Windows servers. I see that I have the option of creating base libraries in .NET Standard or .NET Core. Is there any advantage to a .NET Core library or should I create the base libraries in .NET Standard by default?
Practically speaking, .NET Standard 2.0 is the intersection of .NET Framework 4.6.2(-ish) and .NET Core 2.0.
If you build a library targeting .NET Standard 2.0 then your library can be consumed by .NET Framework libraries and applications, as well as .NET Core libraries and applications. That's the advantage of Standard.
But there are several types/members that have been added to .NET Core which aren't part of .NET Standard. If you want to use something like the new CertificateRequest class you'd need to explicitly target .NET Core.
.NET Core allows new things to get to users faster than .NET Framework does, so the general tradeoff will always be ".NET Standard => more places; .NET Core => newer things".
.Net Standard is just package with interfaces with can be used to provide compatibility across .Net Framework, .Net Core and others
I wouldn't choose a .NET Core library. The differences are in the referenced libraries:
the .NET Standard library references the netstandardX.X NuGet meta-package
the .NET Core library references the netcoreappX.X NuGet meta-package
The netcoreapp package also includes some .NET Standard packages, but also a bunch of .NET Core App specific packages (including libuv. Don't know why a library needs libuv.)
So the .NET Standard library is for cross platform and the .NET Core library just for .NET Core

Resources