.NET Core 1.1 - How to publish an ASP.NET Core using .NET CLI

If you are new with .NET Core 1.1, please take a look at the post .NET Core 1.1 – Where to Start first.

 

I am assuming you already have an ASP.NET MVC application created and build. If you don't have, please check the following post: NET Core 1.1 – Creating an ASP.NET Core using the .NET CLI for details about how to create an ASP.NET Core MVC application.

 

The idea of this post is to show you how to publish your application.

 

The first thing that we have to do is figure out what are the options that the .NET CLI offers to us. You can do that running the following command:

dotnet publish -h

 

As result, we have the following options to publish our application:

 

dotnetpublishh

 

Based on this output, let me show an example about how to publish your application:

dotnet publish -c release

 

The output expected is:

dotnetpublish

 

As I am using Windows, the output was generated to the runtime Win10-x64, as you can see here:

publishdlls

 

If you want to use IIS to host your application, all you have to do is to create a IIS Virtual Directory and copy the publish content to the virtual directory, in my case, I am using c:\inetpub\wwwroot\HelloWorld. The application pool used by this application does not need to be a managed code, i.e., for the .NET CLR version you can choose "No manage code" option.

 

As we published using the framework-dependent deployment, it is important to notice that you need to have the runtime installed on the machine that you published your application.

 

That happens because, by default, is the dotnet.exe that runs your application, as you can check in the web.config:

webconfig

 

The following picture shows you that IIS is acting as a reverse-proxy calling dotnet.exe to run the ASP.NET application:

 

procexpiis

 

I hope you enjoyed.