The Minimal ASPNET Core 1.1 App
Date Published: 12 December 2016
In a previous article, I described how to create the minimal ASP.NET Core 1.0 app. That is, what’s the smallest amount of code you could write to produce an ASP.NET Core application?
In this article, I’ll demonstrate how to do the same for ASP.NET Core 1.1. The main difference is in the project file, which has moved from project.json to a .csproj format. If you’re just getting started with .NET Core, install the SDK and tools, first. You can use Visual Studio Code (or any text editor) for these steps. Once you have the SDK and command line tools installed, open a command prompt in an empty folder. Run the following commands:
dotnet new
This will create two files, Program.cs and [foldername].csproj. Next, you need to add a package reference to the project file, to add the built-in ASP.NET Core web server, Kestrel, to the project. Open the .csproj file with Visual Studio Code (or another text editor). Add this code block under the PackageReference element that includes the “Microsoft.NETCore.App” package:
<PackageReference Include="Microsoft.AspNetCore.Server.Kestrel"> <Version>1.1</Version>
</PackageReference>
The complete project file after this change should look like this:
`
Now modify Program.cs to configure a web host, tell it to use Kestrel, and set up a single response to all requests (to return “Hi”):
using Microsoft.AspNetCore.Hosting;
`using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
class Program { static void Main(string[] args) { new WebHostBuilder() .UseKestrel() .Configure(a => a.Run(c => c.Response.WriteAsync("Hi!"))) .Build() .Run(); } }`
Return to your command prompt, and run these commands:
dotnet restore
dotnet run
You should see output like this:
Open a browser and navigate to localhost:5900. You should see a simple response of “Hi”.
Tags - Browse all tags
Category - Browse all categories
About Ardalis
Software Architect
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.