MIGRATE YOUR APPLICATION/LIBRARY TO .NET CORE/STANDARD

An F# eXchange 2018 workshop

Requirements

Optional editors:

Any v2.0.x (sdk, runtime, docker, etc) is ok. Instructions show latest avaiable.

.NET Core Sdk 2.1

Install the Sdk (not the Runtime):

https://www.microsoft.com/net/download/core#/sdk

In the page there are also the Step-by-step instructions

Prerequisites:

Check if is installed correctly with dotnet --info should print:

.NET Command Line Tools (2.1.103)

Product Information:
 Version:            2.1.103
 Commit SHA-1 hash:  60218cecb5

<additional info about os>

Mono on unix/mac

For unix/mac, Windows doesnt need it.

NOTE it’s a prerequisite of Ionide extension in VS Code, but is going away sooner than later

http://www.mono-project.com/download/

Recommended latest stable 5.10, required >= 4.8 (or >= 5.4)

the package is the mono-complete (who already contains the mono-devel)

Check if is installed correctly with mono --version should print:

Mono JIT compiler version 5.10.1.20 (tarball Thu Mar 29 10:44:58 UTC 2018)

Visual Studio Code

Install:

https://code.visualstudio.com/download

Extensions to install (docs):

After first install, you should download also the .net core debugger.

command

installed

Docker images

Docker 17.06 or higher is recommended because the workshop use the multi stage build, but can be adapted if a previous versions.

Docker images to download:

docker pull microsoft/dotnet:2-sdk
docker pull microsoft/dotnet:2-runtime
docker pull microsoft/dotnet:2-runtime-deps

Check is installed correctly:

docker run --rm microsoft/dotnet:2-sdk dotnet --info

should print:

.NET Command Line Tools (2.1.101)

Product Information:
 Version:            2.1.101
 Commit SHA-1 hash:  6c22303bf0

Runtime Environment:
 OS Name:     debian
 OS Version:  9
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/2.1.101/

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.6
  Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d

and

docker run --rm microsoft/dotnet:2-runtime dotnet --info

should print:

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.6
  Build    : 74b1c703813c8910df5b96f304b0f2b78cdf194d