開發Core項目的條件
看到VS包的體積,以及不想往下走了.
幸虧,ms出了VS Code,可開發.NET Core項目.實際上記事本也能寫Core代碼,但是開發是需要調試的.
所以本系列將持續用VS Code開發.以代碼為主,關鍵點會加以注釋
由於公司事比較多,一直沒來得及更新

目錄
Web API
- dotnet new 添加Core項目
- project.json添加依賴
-
"Microsoft.AspNetCore.Server.Kestrel"
-
"Microsoft.AspNetCore.Mvc"
-
- 添加Startup.cs
- 添加ValuesController.cs
- 修改Program.cs
project.json 添加的依賴
"dependencies": {
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost
"Microsoft.AspNetCore.Mvc": "1.0.0" //webapi mvc
}
添加的Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseMvc();//使用MVC管道
}
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();//MVC加入到DI容器中
}
}
添加的ValuesController.cs
using Microsoft.AspNetCore.Mvc;
public class ValuesController
{
[HttpGet("/values/{name}")]//name參數注入
public string Index(string name)
{
return "Hello World:" + name;
}
}
修改的Program.cs
public static void Main(string[] args)
{
new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.UseUrls("http://localhost:8899", "http://localhost:9988/")//同時監聽2個端口
.Build()
.Run();
}
MVC
在.NET Core中,MVC和Web API實際上走的同一個管道
本例子會在上面的Web API基礎上修改
- 添加和修改project.json
- Microsoft.AspNetCore.Razor.Tools
- 添加HomeController
- 添加Index.cshtml
- 修改Program.cs
MVC中因為有razor動態編譯,所以不僅僅添加1個依賴即可
project.json修改的內容
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true,
"preserveCompilationContext": true //動態編譯
},
"dependencies": {
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost
"Microsoft.AspNetCore.Mvc": "1.0.0", //webapi mvc
"Microsoft.AspNetCore.Razor.Tools": { //mvc razor
"version": "1.0.0-preview2-final",
"type": "build"
}
},
添加的HomeController.cs
注意:需要繼承Controller類
using Microsoft.AspNetCore.Mvc;
public class HomeController : Controller
{
[HttpGet("/{name}")]
public IActionResult Index(string name)
{
ViewBag.Name = "Hello " + name;
return View();
}
}
添加Index.cshtml
目錄結構和之前方式(ASP.NET MVC)一樣

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>@ViewBag.Name</h1>
</body>
</html>
修改Program.cs
public static void Main(string[] args)
{
new WebHostBuilder()
.UseKestrel()
.UseStartup<Startup>()
.UseContentRoot(Directory.GetCurrentDirectory()) //mvc views需要
.UseUrls("http://localhost:8899", "http://localhost:9988/")//同時監聽2個端口
.Build()
.Run();
}
靜態文件
- 添加依賴:project.json
- Microsoft.AspNetCore.StaticFiles
- 注冊管道:Startup.cs
- 添加靜態文件:wwwroot
project.json
"dependencies": { //nuget包
"Microsoft.AspNetCore.Mvc": "1.0.0", //webapi mvc
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0", //webhost
"Microsoft.AspNetCore.Razor.Tools": { //mvc razor
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.StaticFiles": "1.0.0"//靜態文件
},
注冊管道
public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles();//需要在mvc前 否則將優先被mvc路由匹配執行
app.UseMvc();
}
添加靜態文件
靜態文件默認是以wwwroot文件夾為根目錄

注意:
- 添加依賴后,需要Restore后才能使用該庫
- 本節由於篇幅問題,去除了配置文件的大量說明
- 本文地址:http://www.cnblogs.com/neverc/p/5801210.html
