Running ASP.NET Core applications on Windows Subsystem for Linux

Posted Javi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.

技术分享

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.技术分享

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.

技术分享

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.

技术分享

And here is the web front-end of my TemperatureStation solution served by Linux on Windows.

技术分享

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的主要内容,如果未能解决你的问题,请参考以下文章

如何使用目录名称中的句点从 Asp .Net Core 提供静态文件

asp.net core 2.0 DI将多个IInterface类注入控制器

ASP.NET Core (.NET Core) and ASP.NET Core (.NET Framework)区别

Asp.Net core (Full .Net framework) vs Asp.Net core (.Net Core) 性能

Asp.NET Core进阶 第四篇 Asp.Net Core Blazor框架

.NET Core 1.0ASP.NET Core 1.0和EF Core 1.0简介