Running ASP.NET Core applications on Windows Subsystem for Linux

世事洞明皆学问,人情练达即文章。这篇文章主要讲述Running ASP.NET Core applications on Windows Subsystem for Linux相关的知识,希望能为你提供帮助。
Setting up Linux on Windows 10
First thing is to enable Windows Subsystem for Linux. It doesn’t install Linux but gets Windows ready for it. Linux support is Windows feature and it must be activated from Windows Features dialog.

Running ASP.NET Core applications on Windows Subsystem for Linux

文章图片

After installing the feature Windows needs restart.
As Windows is ready to host Linux now it’s time to install one. Windows 10 Fall Creators Update supports more than one Linux. I opened Store app and installer Ubuntu Linux from there.
Running ASP.NET Core applications on Windows Subsystem for Linux

文章图片

It takes time to get things up and running as after installation there are some configuring needed. User is asked for username and password and everything else is done by Linux from this point. Just wait until it gets done.
Running Linux on Windows
After installing Linux it is possible to use Windows 10 search to run it.
Running ASP.NET Core applications on Windows Subsystem for Linux

文章图片

Those who need to run it frequently can also pin Ubuntu to taskbar or start menu.
Installing .NET Core
As I installed Ubuntu Linux then .NET Core installation commands  here are for Ubuntu 16 that came from Windows Store.
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg sudo sh -c ‘echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list‘ sudo apt-get update sudo apt-get install dotnet-sdk-2.0.2

It takes some minutes to get .NET Core installed as after installation it also initializes things.
Running application from local disk
Linux on Windows uses its own file system and disks on machine are visible through mounting. The following screenshot shows how I moved to project folder on test machine and ran ASP.NET Core application. It’s the same folder where I build application on Visual Studio.
Running ASP.NET Core applications on Windows Subsystem for Linux

文章图片

And here is the web front-end of my  TemperatureStation solution  served by Linux on Windows.
Running ASP.NET Core applications on Windows Subsystem for Linux

文章图片

NB!  I have experienced some issues this far. Sometimes after running ASP.NET Core web application on Ubuntu it’s not possible to close terminal. When closing it from Task Manager then on next run terminal window opens but nothing happens there. In case of any issues please  report problems  to Windows team using Feedback app.
Wrapping up
Windows subsystem for Linux is easy to enable and install. It makes Linux available on Windows without hardware level virtualization and there’s no need to install Hyper-V or some other virtualization platform. When building multi-platform apps it is handy to have Linux environment available to test and try application quickly. Although I faced few issues when working with .NET Core on Linux this way these issues were not show stoppers and I got my tasks done. Those who build multi-platform apps should give a Linux on Windows a good try.
【Running ASP.NET Core applications on Windows Subsystem for Linux】 

    推荐阅读