首頁 後端開發 C#.Net教程 .NET Core建立一個控制台(Console)程序

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

May 23, 2018 pm 03:07 PM
.net console core

這篇文章主要為大家詳細介紹了.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以上的日誌被輸出了。

以上是.NET Core建立一個控制台(Console)程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何在 Windows 11 中啟用 Core Isolation 的記憶體完整性功能 如何在 Windows 11 中啟用 Core Isolation 的記憶體完整性功能 May 10, 2023 pm 11:49 PM

Microsoft的Windows112022Update(22H2)預設啟用CoreIsolation的記憶體完整性保護。但是,如果您執行的是舊版的作業系統,例如Windows112022Update(22H1),則需要手動開啟此功能。在Windows11中開啟CoreIsolation的記憶體完整性功能對於不了解核心隔離的用戶,這是一個安全過程,旨在透過將Windows上的基本核心活動隔離在記憶體中來保護它們免受惡意程式的侵害。此進程與記憶體完整性功能結合,可確保

全新 Nintendo Switch Lite 更新現已開放預訂 全新 Nintendo Switch Lite 更新現已開放預訂 Jun 29, 2024 am 06:49 AM

任天堂已開放最新版本 Switch Lite 的預訂(亞馬遜售價 189.99 美元)。不過,該設備目前還無法在全球訂購。回顧一下,該公司在大約兩週前推出了 Switch Lite Hyrule 版

電腦core是什麼意思 電腦core是什麼意思 Sep 05, 2022 am 11:24 AM

電腦中core有兩種意思:1、核心,也即內核,是CPU最重要的組成部分,CPU所有的運算、接受儲存指令、處理資料都由核心執行;2、酷睿,core是英特爾的處理器名稱,酷睿是英特爾公司繼奔騰處理器之後推出的處理器品牌,目前已經發布了十二代酷睿處理器。

使用C#中的Console.Clear函數清空控制台輸出 使用C#中的Console.Clear函數清空控制台輸出 Nov 18, 2023 am 11:00 AM

使用C#中的Console.Clear函數清空控制台輸出在C#的控制台應用程式中,我們經常需要清空控制台中的輸出訊息,以便於顯示新的內容或提供更好的使用者體驗。 C#中提供了Console.Clear函數來實現這個功能,它能夠清除控制台中的輸出,讓介面重新變成空白。 Console.Clear函數的呼叫格式如下:Console.Clear();此函數無須輸入任何

console什麼意思 console什麼意思 Sep 05, 2023 pm 02:43 PM

console是控制台的意思,是一種與計算機系統進行交互的設備或軟體,用於與計算機系統進行交互,它通常是一個帶有鍵盤和屏幕的設備,用於輸入和輸出信息,控制台最初用於大型電腦系統,後來也應用於個人電腦和伺服器,它可以幫助用戶管理和維護電腦系統,以及安裝作業系統和應用程序,調試程序等。

任天堂在 Switch 2 發售前宣布更新 Switch Lite 任天堂在 Switch 2 發售前宣布更新 Switch Lite Jun 20, 2024 am 09:41 AM

任天堂昨天在最近的任天堂直面活動中展示了大量遊戲,我們單獨提供了概述。此外,該公司還發布了新版本的 Switch Lite(亞馬遜售價 194.93 美元),可能是

MagicX XU Mini M:拆解顯示 RK3326 CPU 而非廣告中的 RK3562,MagicX 斷絕與第三方開發者的聯繫 MagicX XU Mini M:拆解顯示 RK3326 CPU 而非廣告中的 RK3562,MagicX 斷絕與第三方開發者的聯繫 Sep 01, 2024 am 06:30 AM

如果您最近購買了 MagicX XU Mini M,這個消息可能會讓您感到驚訝。對新發布的手持式遊戲機的硬體和軟體拆解顯示,廣告中的 RK3562 CPU 實際上是規格較低、較舊的 RK3326 處理器。

分享幾個.NET開源的AI和LLM相關專案框架 分享幾個.NET開源的AI和LLM相關專案框架 May 06, 2024 pm 04:43 PM

當今人工智慧(AI)技術的發展如火如荼,它們在各個領域都展現了巨大的潛力和影響力。今天大姚給大家分享4個.NET開源的AI模型LLM相關的專案框架,希望能為大家提供一些參考。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一種開源的軟體開發工具包(SDK),旨在將大型語言模型(LLM)如OpenAI、Azure

See all articles