NetCore学习实践1__项目创建和配置文件的获取
工具安裝:vs2017+版本,.Net Core2.0組件
?
- .NET Core 2.0 SDK win-x64下載地址:https://download.microsoft.com/download/0/F/D/0FD852A4-7EA1-4E2A-983A-0484AC19B92C/dotnet-sdk-2.0.0-win-x64.exe
 - 官方更多版本下載地址:https://www.microsoft.com/net/download/core
 - .NET Core 2.0 官方博客說明:https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/
 - 開發指南:https://www.microsoft.com/net/core
 - 官方中文文檔:https://docs.microsoft.com/zh-cn/dotnet/
 - .NET Core 2.0 API文檔:https://docs.microsoft.com/en-us/dotnet/api/?view=netcore-2.0
 - asp.net core的官方文檔:https://docs.microsoft.com/en-us/aspnet/core/? ?https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/index
 
?
NetCore地位
?
.net framework 是在 windows 下運行的,不能跨平臺,只能蝸居在window里;為了跨平臺,novell公司開發了mono,把大部分.net framework 功能移植到 linux 下(xamarin和unity3d的基礎)可以在linux下運行。現在是云計算的天下,所謂云,我的通俗理解就是將所有的計算由各個終端轉移到服務器,而linux天然就是做服務器的,在服務器領域,linux分分鐘吊打windows,甩windows幾條街不在話下 ,所以作為后端開發的主流語言,c#的市場占有量總是不及java,采用c#在.Net平臺下的大公司也是屈指可數或者說基本沒有,故而一些java程序員總是有種莫名的優越感。我一直覺得c#的語法優雅秒殺java,但是不得不承認,高并發高流量的項目還是得用java平臺,畢竟人家可以運行在linux服務器上,不說window服務器穩定性不行,生態軟件是最大的硬傷。微軟爸爸眼紅啦,自己的親兒子高富帥出生,咋就比不過人家呢?于是收購了mono,但是出身富貴的微軟覺得mono這家伙心法以及招式太過陳舊,類庫配不上自己兒子的優雅飄逸,于是Net Coret應運而生,微軟宣告武林,以后犬子C#也可以借助net Core跨 Linux、windows、mac 運行,linux服務器的強大資源并非java獨有。
自此,微軟家庭構造如下:
?
?命令創建項目
?
既然跨平臺了,咱們也就潮一把,裝一波b格,命令行來一波。
控制臺項目
- dotnet new console -o consoleTest? ?在當前目錄創建ConsoleTest文件夾并在該文件夾下創建ConsoleTest控制臺應用? ? ?-o?要放置生成的輸出的位置output
 - dotnet new console -n consoleTest? ?在當前目錄創建ConsoleTest文件夾并在該文件夾下創建ConsoleTest控制臺應用? ? ?-n?正在創建輸出的名稱。如果未指定任何名稱,將使用當前目錄的名稱。
 
-n 指定名稱則會以名稱創建目錄和應用,否則將使用當前目錄的的名稱創建控制臺應用
- dotnet restore? 通過nuget 還原安裝當前目錄的項目用到的包,一定要 cd 到項目根 目錄下執行。
 - dotnet run? ? ? ? ?編譯并運行當前目錄的項目,一定要在項目根目錄下執行。
 
?
mvc項目
- dotnet new mvc -o test1 或者 dotnet new mvc
 - dotnet restore
 - dotnet run? 項目自帶嵌入式服務器,測試階段不用 IIS 等單獨的服務器??http://127.0.0.1:5000??https://127.0.0.1:5001即可以訪問了
 - ctrl+c? ?停止服務器?
 - dotnet new --help? 不懂的命令查文檔
 - 其他項目的創建: 
- 類庫:dotnet new classlib
 - webapi:dotnet new webapi
 - 解決方案: dotnet new sln
 
 
?
-  
項目間引用
 
- dotnet new sln? ? ?創建解決方案,解決方案的名字默認是當前目錄的名字?
 - dotnet sln xxx.sln add xxx.common/xxx.common.csproj? ?把xxx.common目錄下的xxx.common.csproj添加到解決方案中
 - dotnet sln xxx.sln add xxx.web/xxx.web.csproj? ?
 - dotnet add xxx.web/xxx.web.csproj reference xxx.common/xxx.common.csproj? ?添加xxx.web.csproj項目對xxx.common.csporj項目的引用
 
配置文件的讀取
?
ASP.Net依賴于System.Configuration和XML配置文件web.config,Net Core采用了單獨的json文件:appsetting.json。
項目啟動的時候已經默認將該json文件加入到ConfigurationBuilder中,我們在項目中可以直接讀取。
{"Data": "LineZero","ConnectionStrings": {"DefaultConnection": "數據庫1","DevConnection": "數據庫2"},"Logging": {"IncludeScopes": false,"LogLevel": {"Default": "Debug","System": "Information","Microsoft": "Information"}} }Configuration.GetConnectionString("DefaultConnection");//獲取連接串的shortcut 數據庫1 Configuration["ConnectionStrings:DevConnection"];//數據庫2 Configuration.GetSection("Logging").GetSection("IncludeScopes").Value; Configuration.GetSection("Logging")["IncludeScopes"]; //這兩種寫法都支持“false”
?
轉載于:https://www.cnblogs.com/lyfingchow/p/7502925.html
總結
以上是生活随笔為你收集整理的NetCore学习实践1__项目创建和配置文件的获取的全部內容,希望文章能夠幫你解決所遇到的問題。