官網已經有一個.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但這個教程徹底沒有顧及全宇宙第一IDE的感覺。今天就跟你們體驗一下在VS2017上開發.net core程序吧。VS2017開發環境的搭建請參考:http://www.cnblogs.com/vveiliang/p/7380260.html。html
打開VS2017的新建項目面板,能夠看到有兩個新的分類:.Net Core和.Net Standard。json
.Net Core下的工程還比較好理解,可是.Net Standard是怎麼回事呢?下面看一張.net 架構圖,能夠幫助咱們理解這個事情。簡言之:.Net Standard是一組全部.Net平臺( .NET Framework,.NET Core,和 Xamarin )都要實現的契約定義。 對於開發者而言,只須要掌握一種基礎類庫便可,當開發者在新的平臺下開發應用時,將再也不須要學習新的API知識。 這意味着,以 .NET Standard 做爲目標平臺的類庫將能夠在全部 .NET 全部平臺上運行。具體信息可參考:https://zhuanlan.zhihu.com/p/24267356windows
(一)生成.net core的"Hello World!"解決方案架構
在VS2017的新建項目面板中,選擇「控制檯應用(.Net Core)」.數據項目名稱,並點擊下方的肯定後,程序建立完成。app
在自動生成的代碼中,加入: Console.ReadLine(); 。而後點擊鍵盤上的「F5」鍵,執行運行。學習
OK,咱們的第一個程序就這樣編寫完成,並運行起來,很是的簡單。.net
(二)dotnet.exe設計
.net core程序雖已寫完,可是打開任務管理器,咱們卻沒法找到demo.exe這個程序,只看到dotnet.exe程序。爲何會這樣呢?這要從.net core的設計提及,給你們留個做業,本身找答案吧。3d
打開Demo程序編譯後的目錄,發現裏面也沒有exe文件。orm
怎樣才能運行咱們寫的程序呢?其實很簡單。打開 cmd,執行下面指令便可:dotnet "C:\Users\dell\Documents\visual studio 2017\Projects\Demo\Demo\bin\Debug\netcoreapp2.0\demo.dll"。其中dotnet是.Net Core的運行容器名,後面是咱們本身開發的程序入口。更多指令請參考這裏:http://www.cnblogs.com/linezero/p/dotnetcli.html
(三)帶exe的.net core程序。
在項目上右鍵編輯demo.csproj,添加一行
<RuntimeIdentifier>win10-x64-corert</RuntimeIdentifier>
最終結果爲:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeIdentifier>win10-x64-corert</RuntimeIdentifier>
<ApplicationIcon />
<StartupObject />
</PropertyGroup>
</Project>
說明:RuntimeIdentifier 用於標識程序編譯時可生成的不一樣運行環境的程序版本。其值來自於:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.platforms\2.0.0\runtime.json。
保存編輯信息,而後從新編譯,能夠在生成目錄下看到win10-x64-corert目錄,此目錄已經生成了exe文件。經過此方法,咱們能夠一次性編譯各類環境下的程序文件。若是想更多的瞭解RID(RuntimeIdentifier ),請參考:https://docs.microsoft.com/en-us/dotnet/core/rid-catalog。