官網已經有一個.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但這個教程完全沒有顧及全宇宙第一IDE的感受。今天就跟大家體驗一下在VS2017上開發.net core程序吧。VS2017開發環境的搭建請參考:http://www.cnblogs.com/vveiliang/p/7380260.html。
打開VS2017的新建項目面板,可以看到有兩個新的分類:.Net Core和.Net Standard。
.Net Core下的工程還比較好理解,但是.Net Standard是怎么回事呢?下面看一張.net 架構圖,可以幫助我們理解這個事情。簡言之:.Net Standard是一組所有.Net平台( .NET Framework,.NET Core,和 Xamarin )都要實現的契約定義。 對於開發者而言,只需要掌握一種基礎類庫即可,當開發者在新的平台下開發應用時,將不再需要學習新的API知識。 這意味着,以 .NET Standard 作為目標平台的類庫將可以在所有 .NET 所有平台上運行。具體信息可參考:https://zhuanlan.zhihu.com/p/24267356
(一)生成.net core的"Hello World!"解決方案
在VS2017的新建項目面板中,選擇“控制台應用(.Net Core)”.數據項目名稱,並點擊下方的確定后,程序創建完成。
在自動生成的代碼中,加入: Console.ReadLine(); 。然后點擊鍵盤上的“F5”鍵,執行運行。
OK,我們的第一個程序就這樣編寫完成,並運行起來,非常的簡單。
(二)dotnet.exe
.net core程序雖已寫完,但是打開任務管理器,我們卻無法找到demo.exe這個程序,只看到dotnet.exe程序。為什么會這樣呢?這要從.net core的設計說起,給大家留個作業,自己找答案吧。
打開Demo程序編譯后的目錄,發現里面也沒有exe文件。
怎樣才能運行我們寫的程序呢?其實很簡單。打開 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。