ASP.NET Core
开发环境 Ubuntu 16.04
1.创建一个新的 .NET Core 工程
upir@upir-Rev-1-0:~$ mkdir myweb
upir@upir-Rev-1-0:~$ cd myweb
upir@upir-Rev-1-0:~/myweb$ dotnet new
Created new C# project in /home/upir/myweb.
upir@upir-Rev-1-0:~/myweb$ ls
Program.cs project.json
2.更新 project.json 文件,添加 Kestrel HTTP server 包
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0"
},
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0"
},
"imports": "dnxcore50"
}
}
}
3.更新依赖包
upir@upir-Rev-1-0:~/myweb$ dotnet restore
log : Restoring packages for /home/upir/myweb/project.json...
log : Installing System.Text.Encodings.Web 4.0.0.
log : Installing System.Net.WebSockets 4.0.0.
log : Installing Microsoft.AspNetCore.Http.Abstractions 1.0.0.
log : Installing Microsoft.AspNetCore.Server.Kestrel 1.0.0.
log : Installing Microsoft.AspNetCore.WebUtilities 1.0.0.
log : Installing Microsoft.Extensions.ObjectPool 1.0.0.
log : Installing Microsoft.Net.Http.Headers 1.0.0.
log : Installing Microsoft.AspNetCore.Http.Features 1.0.0.
log : Installing Microsoft.Extensions.Configuration.Abstractions 1.0.0.
log : Installing Microsoft.Extensions.Primitives 1.0.0.
log : Installing Microsoft.Extensions.FileProviders.Abstractions 1.0.0.
log : Installing Microsoft.Extensions.FileSystemGlobbing 1.0.0.
log : Installing Microsoft.Extensions.DependencyInjection.Abstractions 1.0.0.
log : Installing Microsoft.AspNetCore.Hosting.Abstractions 1.0.0.
log : Installing Microsoft.AspNetCore.Http.Extensions 1.0.0.
log : Installing Microsoft.Extensions.Logging.Abstractions 1.0.0.
log : Installing Microsoft.AspNetCore.Http 1.0.0.
log : Installing Microsoft.AspNetCore.Hosting.Server.Abstractions 1.0.0.
log : Installing Microsoft.AspNetCore.Hosting 1.0.0.
log : Installing Microsoft.Extensions.Configuration.EnvironmentVariables 1.0.0.
log : Installing Microsoft.Extensions.PlatformAbstractions 1.0.0.
log : Installing Microsoft.Extensions.Logging 1.0.0.
log : Installing Microsoft.Extensions.DependencyInjection 1.0.0.
log : Installing Microsoft.Extensions.FileProviders.Physical 1.0.0.
log : Installing Microsoft.Extensions.Options 1.0.0.
log : Installing Microsoft.Extensions.Configuration 1.0.0.
log : Writing lock file to disk. Path: /home/upir/myweb/project.lock.json
log : /home/upir/myweb/project.json
log : Restore completed in 84740ms.
4.添加 Startup.cs 文件
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
namespace aspnetcoreapp
{
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.Run(context =>
{
return context.Response.WriteAsync("Hello from ASP.NET Core on Ubuntu 16.04");
});
}
}
}
5.更改 Program.cs 文件
using System;
using Microsoft.AspNetCore.Hosting;
namespace aspnetcoreapp
{
public class Program
{
public static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
var host = new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
}
6.启动应用
upir@upir-Rev-1-0:~/myweb$ tree
.
├── bin
│ └── Debug
│ └── netcoreapp1.0
│ ├── myweb.deps.json
│ ├── myweb.dll
│ ├── myweb.pdb
│ ├── myweb.runtimeconfig.dev.json
│ └── myweb.runtimeconfig.json
├── obj
│ └── Debug
│ └── netcoreapp1.0
│ ├── dotnet-compile.assemblyinfo.cs
│ ├── dotnet-compile-csc.rsp
│ └── dotnet-compile.rsp
├── Program.cs
├── project.json
├── project.lock.json
└── Startup.cs
6 directories, 12 files
upir@upir-Rev-1-0:~/myweb$ dotnet run
Project myweb (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing
Compiling myweb for .NETCoreApp,Version=v1.0
Compilation succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:03.6667426
Hosting environment: Production
Content root path: /home/upir/myweb/bin/Debug/netcoreapp1.0
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
预览: