C# Cross-Platform Tricks: Run ASP.NET Applications On Linux

This course will teach you how to get your ASP.NET web applications up and running on a Linux system
3.8 (9 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
165 students enrolled
$19
$90
79% off
Take This Course
  • Lectures 32
  • Length 4.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 2/2016 English

Course Description

BEST COURSE CHOICE for beginners and intermediate C# developers who want to take their skills to the next level and learn how to run ASP.NET applications on Linux.

In this course I will teach you how to run ASP.NET applications on Linux.

"whaaat?" I hear you thinking. "Why would I want to run .NET code on Linux?"

Well, think again! Linux is free, it's everywhere, it's insanely powerful and fast, and you're going to have to deal with Linux production servers in your work sooner or later.

And get this: last year Microsoft announced that they are porting .NET to Linux. Do you know what that means? Real soon you're going to have to migrate .NET applications to Linux.

Are you ready to learn cross-platform tricks?

In this course I will teach you how to build a Linux virtual machine from scratch, install the Mono Framework, set up a nice integrated development environment, and install and run a couple of ready-made ASP.NET applications.

By the end of the course you will be fluent in running ASP.NET applications on Linux. You will be aware of the scope and power of the Mono Framework, and you will know how to write cross-platform code that runs on Windows and Linux.

Why should you take this course?

You should take this course if you are a beginner or intermediate C# developer and want to learn how to run your code on Linux. This might seem daunting, but all of my lectures are very easy to follow and I explain everything clearly. You'll have no trouble following along.

Or maybe you're working in a startup and need to host your C# apps in the cloud? With the cross-platform tricks in this course you can host your code on a cheap Linux provider.

30 day money-back guarantee

This course comes with an unconditional, Udemy backed, 30-day money-back guarantee. If you are dissatisfied with the course for any reason, simply request a refund and get your full purchase amount back, no questions asked.

Act now

This course today contains over 4 hours of video content. Enrol now to benefit from the current price and get free lifelong access to all future materials.

Enrol now!

What are the requirements?

  • You should have a Windows, Mac or Linux laptop with Microsoft Visual Studio, Xamarin Studio or Monodevelop installed
  • You should be familiar with the C# language
  • That's all!

What am I going to get from this course?

  • Learn how to run ASP.NET applications on Linux, from a certified Microsoft trainer from your own desk.
  • Many hours of video content teaching you about virtual machines, Linux distributions, the Mono Framework, code incompatibilities, and much more!
  • Suitable for beginner and intermediate programmers and ideal for users who learn faster when shown.
  • Learn how to build a Linux virtual machine from scratch.
  • Understand the pros and cons of the Mono Framework.
  • Discover how to write cross-platform code that will run on both Windows and Linux.
  • Find out how hard it is to migrate an existing ASP.NET application from Windows to Linux.

What is the target audience?

  • This course is for beginner and intermediate C# programmers who want to learn how to run ASP.NET applications on Linux.
  • Ideal for students who are working on a cross-platform application that needs to run on both Windows and Linux.
  • Are you in a startup and need to host your C# code on a cheap Linux provider? Then this course is for you!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
07:36
In this lecture I explain how this course is organised and I describe each of the upcoming sections in detail. I'll also tell a bit more about myself, my career, and my motivation to become an online trainer.
07:00
In this lecture we're going to take a closer look at cross-platform .NET.
Section 2: Installing The Mono Framework On Linux
01:30

Welcome to the Installing The Mono Framework section. I will give a quick introduction on how the section is organized before we get started.

13:05

A Linux distribution is a combination of a package manager, a software collection, and a graphical desktop environment. There are many Linux distributions out there and picking the right one can be a difficult task.

In this lecture I will show you the most popular Linux distributions, and I will select the most appropriate one to use for the remainder of this course.

07:54

A virtual machine is a software application that simulates a hardware environment. You can install a complete operating systems into a virtual machine, and this allows you to run one operating system on top of another.

In this lecture I will show you the most popular virtual machine applications for Windows, OS/X and Linux, and I will select the most appropriate one to use for the remainder of this course.

15:08

In this lecture I will create a new Virtualbox virtual machine, and configure it for the upcoming Linux installation in the next lecture. I'll show you how you can configure the virtual machine for optimal performance.

16:51

I will perform a complete installation of the Ubuntu Server Linux distribution into the virtual machine that I set up in the previous lecture.

11:36

After completing the Ubuntu Server installation from the previous lecture, I am left with a very basic command line interface. This might surprise you, because I announced earlier that Ubuntu has a graphical user interface.

In this lecture I will explain the Linux architecture to you, and tell you exactly why the Linux installation did not produce a graphical desktop environment.

09:18

In this lecture I will guide you through a complete installation of the Mono Framework.

10:28

We finally have a complete installation of Ubuntu Linux and the Mono Framework, so now it's time to test if the installation has completed successfully.

I will write, build and run a very simple Hello World application, to test if the C# compiler and the Mono Runtime Environment is working correctly.

02:47

Congratulations on finishing this section. This is a recap of what we have learned.

Installing The Mono Framework On Linux
7 questions
Section 3: Mono On Linux vs .NET On Windows
01:22

Welcome to the Mono On Linux vs .NET On Windows section. I will give a quick introduction on how the section is organized before we get started.

09:18

The Mono Framework is on par with .NET version 4.5, and provides 99% compatibility with the Microsoft Framework. So what's in the missing 1%?

In this lecture I will show you which modules, subsystems and libraries in Microsoft .NET are completely missing or only partially implemented in the Mono Framework.

11:52

A big difference between the Windows and Linux filesystems is that Linux uses a forward slash as a folder separator, while Windows uses the backslash character.

In this lecture I will show you the consequences this has for your code, and how you can write cross-platform code that will work perfectly on both Windows and Linux.

07:15

Another big difference between the Windows and Linux filesystems is that the Linux filesystem is case sensitive, while the Windows filesystem is case insensitive.

In this lecture I will show you the consequences this has for your code, and how you can write cross-platform code that will work perfectly on both Windows and Linux.

12:12

The directory structure of Linux is totally different from Windows. There is no Windows, System32 or Program Files folder. So how do you access special folders?

I'll show you how you can avoid hardcoding absolute folders and write truly cross-platform code by dynamically generating special folder paths in your code.

03:09

Congratulations on finishing this section. This is a recap of what we have learned.

Mono On Linux vs .NET On Windows
4 questions
Section 4: Installing MonoDevelop On Linux
01:42

Welcome to the Installing MonoDevelop On Linux section. I will give a quick introduction on how the section is organized before we get started.

10:08

In this lecture I am going to install the graphical Unity desktop.

06:58

In this lecture I am going to install the Virtualbox extensions. These are special Ubuntu kernel modules that boost graphics performance and improve the interoperability between Ubuntu and my OS/X host.

13:01

The Unity desktop is very user friendly, but it can be a bit confusing if you have never seen it before. In this lecture I'll give you a quick walkthrough of the desktop and demonstrate some of the standard Linux applications.

06:07

To really get productive on Linux you're going to need a professional integrated development environment on par with Visual Studio. MonoDevelop is not Visual Studio, but it comes pretty close. It offers intellisense, code completion, smart refactoring, integrated debugging, and supports C#, VB.NET and F# out of the box.

In this lecture I will perform a complete installation of MonoDevelop.

12:59

To verify the MonoDevelop installation in the previous lecture I will revisit the Hello World application. I will write the application again, but this time I'll do everything from inside MonoDevelop.

02:02

Congratulations on finishing this section. This is a recap of what we have learned.

Installing MonoDevelop On Linux
5 questions
Section 5: Running ASP.NET Applications On Linux
00:51
Welcome to the Running ASP.NET Applications On Linux section. I will give a quick introduction on how the section is organized before we get started.
06:06

When I installed the Mono Framework I used a package called 'mono-complete', but strangely enough this did not include the Mono webserver. So in this lecture I will manually install the XSP4 webserver so that I can finally start running ASP.NET applications on Linux.

11:31

The first application I am going to install and run on Linux is the REST File Service example from the ServiceStack website. This application implements a simple REST interface for viewing and editing files and folders on a server.

I will show you exactly what's required to get this application running on Linux.

08:55

The Razor Rockstars demo is a very popular ServiceStack example that uses a combination of Razor MVC viewpages and static Markdown files to implement a catalog of rockstar profiles.

I will show you how to get this project running on Linux.

09:31

My third ASP.NET application is an email contact manager that uses a SQLLite database to maintain a list of email addresses and keep track of emails sent to these addresses. The application can send emails directly or defer delivery to an asynchronous RabbitMQ server.

I will show you what you need to do to get this application running on Linux.

15:11

Northwind is a famous Microsoft Access database that contains the company data of a fictional organisation. In this lecture I am going to use a SQLLite copy of the Northwind data, and I'll show you an ASP.NET application that can view, filter, and sort this data in interesting ways.

I will show you exactly what you need to do to get this application running on Linux.

02:45

Congratulations on finishing this section. This is a recap of what we have learned.

Running ASP.NET Applications On Linux
5 questions
Section 6: Final Words
01:57

In this lecture I would like to thank you for finishing the course and offer some final words.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Mark Farragher, Microsoft Trainer

Hi I'm Mark, and I am very pleased to meet you!

My IT career spans 2 decades and I've worn many different hats over the years. I am a serial entrepreneur and have launched two startups in The Netherlands. I've also been a CTO three times.

I started working with C# and the .NET framework 15 years ago. Today I live in Barcelona and spend my time creating online courses to share my knowledge of professional C# programming with a wide audience.

Ready to start learning?
Take This Course