.NET Core建立一個控制台(Console)程式

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了.NET Core如何建立一個控制台程式,具有一定的參考價值,感興趣的小夥伴們可以參考一下

.NET Core版本:1.0.0-rc2

Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2

開發及運行平台:Windows 7 專業版 Service Pack 1

新增一個控制台項目(ConsoleLogApp)

project.json檔案中新增依賴項

{ "version": "1.0.0-*", "buildOptions": {  "emitEntryPoint": true }, "dependencies": {  "Microsoft.NETCore.App": {   "type": "platform",   "version": "1.0.0-rc2-3002702"  },  "Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-final",  "Microsoft.Extensions.Logging": "1.0.0-rc2-final",  "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",  "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",  "System.Text.Encoding": "4.0.11-rc2-24027",  "System.Text.Encoding.CodePages": "4.0.1-rc2-24027" }, "frameworks": {  "netcoreapp1.0": {   "imports": "dnxcore50"  } }}

新增日誌輸出設定檔(log.json)

我們這個控制台程式主要目的是用來列印輸出日誌,所以這裡用一個單獨的日誌設定檔來儲存相關日誌相關選項,比如:是否包括上下文,日誌輸出最低等級等

{ "IncludeScopes": false, "LogLevel": {  "App": "Warning" }}

IncludeScopes為false讓控制台日誌輸出時不包含上下文;LogLevel的最低等級設定為:Warning,只有高於這個層級的日誌才會輸出。App為日誌的CategoryName。

入口程式

using System;using Microsoft.Extensions.Configuration;using System.Text;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Logging;namespace ConsoleLogApp{  public class Program  {    public static void Main(string[] args)    {      // 支援中文編碼      Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);      // 載入日誌設定檔      var setttins = new ConfigurationBuilder().AddJsonFile("log.json").Build();      // 建立ConsoleLogProvider並根據日誌類目名稱(CategoryName)產生Logger執行個體      var logger = new ServiceCollection().AddLogging().BuildServiceProvider().GetService<ILoggerFactory>().AddConsole(setttins).CreateLogger("App");      // 設定事件ID      const int eventId = 888888;      // 輸出正常提示日誌      logger.LogInformation(eventId, "訂單號({OderNo})", "12345678000");      // 輸出警示日誌      logger.LogWarning(eventId, "待處理訂單數達到5分鐘內的預警值:{max}", 2000);      // 輸出錯誤記錄檔      logger.LogError(eventId, "資料庫連接逾時");      Console.ReadLine();    }  }}

使用“dotnet restore”來還原依賴項

在Git Bash中把目前的目錄切換到項目的根目錄下(本例為:D:\ConsoleLogApp)

dotnet restore命令是用來尋找目前的目錄下的專案檔(project.json),然後利用NuGet庫還原整個項目的依賴庫,然後遍曆每個目錄產生專案檔,繼續還原該專案檔中依賴項。

使用“dotnet build”來編譯整個項目

編譯成功後,我們在項目根目錄下的bin目錄中發現編譯後的檔案夾(D:\ConsoleLogApp\bin\Debug\netcoreapp1.0),命令執行成功後產生了一個Debug目錄並在此目錄下產生了一個以應用程式名稱命名的檔案夾(netcoreapp1.0,這個名稱是在project.json中配置的)

使用“dotnet run”來運行程式

我們可以看到info層級的輸出日誌被過濾掉了,只有Warning以上的日誌被輸出了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.