Click here to Skip to main content
13,661,572 members
Click here to Skip to main content
Add your own
alternative version

Stats

18.8K views
554 downloads
34 bookmarked
Posted 19 Jul 2016
Licenced CPOL

Tutorial | Quick start-up for .NET core on Windows and Linux

, 21 Jul 2016
Rate this:
Please Sign up or sign in to vote.
This article will give a kick off start to build an application using .NET core on Linux and Windows

Introduction

This article will cover the following things

  • Brief Concepts
  • Implementation - Two ways to develop an application in Windows:
  • Implementation - Develop application in Windows:
  • Implementation - Install .NET Core on Linux Server (Ubuntu 16.04)
  • Implementation - Deploy Application (Created on Windows) on Linux Server (Ubuntu 16.04)
  • Implementation - Develop application on Linux
  • Implementation - Develop a MVC application on Windows using Visual Studio:

Brief Concepts

What is Dot Net Core?

  • Development platform/framework maintained by Microsoft.
  • It supports following OS:
    • Windows
    • MAC
    • Linux
    • cloud
    • Embedded/IOT scenarios

Features

  • Flexible deployment: 
    • Can be deployed on all the supported machines.
  • Cross-platform: 
    • Runs on Windows, MAC and Linux; - - will be covered in today’s session
    • Can be ported to other OS. - - will be covered in today’s session
  • Can be installed by any command line tool.
  • Compatibility:
    • NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
  • Open source: 

Implementation (Using Code):

1. Two ways to develop an application in Windows

  • Using command line
  • Using Visual Studio IDE

2. Develop application in Windows

2.1. Using Command Line - STEPS

  • Open cmd.exe / relevant command line tool
  • Follow the below commands to create a sample project and install .NET core
    • cd C:\Gourav_Personal\Study Material\.NET CORE\Demo
    • mkdir demo1
    • cd demo1
    • dotnet new

  • Restore the packages and run the project
    • dotnet restore
    • dotnet run

Download demo1 attachment for the reference.

2.2. Using Visual Studio - STEPS

  • Install and Open VS 2015 with update 3 or above
  • Install .NET Core RC2 Package
  • Create a project
  • Choose .NET Core tab and select console application(.NET Core)

  • Write few line of codes in program.cs

  • Run the application.

Download demo2 attachment for the reference.

3. Install .NET Core on Linux Server (Ubuntu 16.04)

  • I am using Oracle Virtual Box with Ubuntu 16.04 image on my windows machine to execute this use case.
  • Run the following commands to get this working:
    • sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
    • sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
    • sudo apt-get update

  • Now GO to the downloaded location and run the following commands :
    • sudo dpkg -i libicu52_52.1-3ubuntu0.4_amd64.deb

  • sudo apt-get install dotnet-sharedframework-microsoft.netcore.app-1.0.0-rc2-3002702

  • sudo apt-get install dotnet-dev-1.0.0-preview2-003121

4. Deploy Application (Created on Windows) on Linux Server (Ubuntu 16.04)

  • Move the demo1 application attached in the article into the Linux machine and un-pack it.
  • Go the application location in terminal.

  • Restore the packages and run the project
    • dotnet restore

  • dotnet run

5. Develop application on Linux

STEPS

  • Open Terminal
  • Follow the below commands to create a sample project and install .NET core
    • cd Downloads
    • mkdir demo2
    • cd demo2
    • dotnet new

  • Restore the packages and run the project
    • dotnet restore
    • dotnet run

6. Develop a MVC application on Windows using Visual Studio

STEPS – Multiple Concepts

  • General:
    • Open VS 2015 and Create Project

  • Choose Web - > ASP .NET Core Web Application (.NET Core) and Choose template – Empty (To understand the concept better)

  • Run the application

  • Static Files:
    • Comment the default code in the StartUp.cs file.

  • Add Html files in wwwroot folder

  • Add “Microsoft.AspNetCore.StaticFiles” into the project.json file under the dependencies section

  • Restoring of packages once we save the file in VS 2015
  • Add app.UseStaticFiles() into the startup file into the configure method.

  • Run the application with the static URL for e.g. http://localhost:50938/Sample.html

  • MVC
    • Add “Microsoft.AspNetCore.Mvc” into the project.json file

  • Add MVC structure (Add Controllers and Views Folder and default files into that)

  • Add  services.AddMvc() in the "ConfigureServices" method  into the startup file
  • Add the following code into the "Configure" method related to MVc route
app.UseMvc(routes =>
      {
        routes.MapRoute(
          name: "default",
          template: "{controller}/{action}/{id?}",
          defaults: new { controller = "Home", action = "Index" }
        );
      });

  • Run the application with the MVC URL for e.g. http://localhost:50938/Home/Index

  • Class Library Concept:
    • Add Class library to extract any common code (type .NET core)

  • Create interface and class and implement some logic

  • Mention the entry into the main project's project.json “for the class library” to use it in the main project. For e.g. "ClassLibrary1": "1.0.0-*"

  • Use it as a service in Startup.cs file using dependency injection concept. For e.g.  services.AddSingleton<IInterface, Class1>();

  • Implement the same into the controller as "Controller Injection"

  • Run the application with the MVC URL for e.g. http://localhost:50938/Home/Index

  • Middleware Concept:
    • Comment all the code in the "Configure" method into the StartUp.cs file.

  • Add middleware class into the main project.

  • Few changes into the "Invoke" method into the middleware class for e.g.  
public Task Invoke(HttpContext httpContext)
{
  httpContext.Response.WriteAsync("Middleware Output");
  return _next(httpContext);
}

  • Use the same middleware class into the startup file for e.g. app.UseMiddleware();

  • Run the application  for e.g. http://localhost:50938 

Download demo3 attachment for the reference.

Points of Interest

I loved using .NET core as it allows us to develop application on any platform and apart from that if the application is developed on Windows or Linux,it can be deployed on both of them.

Thats amazing thing by Microsoft :)

Reference Demos

I have attached three demo files for the demostration of the explaination showed in the above article.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author


You may also be interested in...

Pro
Pro

Comments and Discussions

 
GeneralMy vote of 5 Pin
tbayart26-Jun-17 1:27
membertbayart26-Jun-17 1:27 
GeneralMy vote of 5 Pin
Dmitriy Gakh22-Jul-16 21:31
professionalDmitriy Gakh22-Jul-16 21:31 
QuestionBetter now Pin
Nelek22-Jul-16 2:11
protectorNelek22-Jul-16 2:11 
QuestionFormat? Pin
Nelek19-Jul-16 1:32
protectorNelek19-Jul-16 1:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web04-2016 | 2.8.180810.1 | Last Updated 22 Jul 2016
Article Copyright 2016 by Gourav Jain MCTS®
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid