Heim  >  Artikel  >  Backend-Entwicklung  >  .NET Core erstellt ein Konsolenprogramm

.NET Core erstellt ein Konsolenprogramm

Y2J
Y2JOriginal
2018-05-23 15:07:556386Durchsuche

Dieser Artikel stellt hauptsächlich detailliert vor, wie .NET Core ein Konsolenprogramm erstellt, das einen bestimmten Referenzwert hat

.NET Core-Version: 0-rc2

Visual Studio-Version: Microsoft Visual Studio Community 2015 Update 2

Entwicklungs- und Ausführungsplattform: Windows 7 Professional Edition Service Pack 1

Ein neues Konsolenprojekt hinzufügen ( ConsoleLogApp)

Abhängigkeit hinzufügen

{
 "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"
  }
 }
}
project.json-Datei 🎜>Neue Protokollausgabe-Konfigurationsdatei (log.json) Der Hauptzweck unseres Konsolenprogramms besteht darin, Protokolle zu drucken und auszugeben. Daher wird hier eine separate Protokollkonfigurationsdatei verwendet, um relevante Protokolloptionen zu speichern, z. B. ob Kontext einbezogen werden soll. die niedrigste Ebene der Protokollausgabe usw.

{
 "IncludeScopes": false,
 "LogLevel": {
  "App": "Warning"
 }
}
IncludeScopes ist falsch, sodass die Konsolenprotokollausgabe keinen Kontext enthält: Warnung, nur höher als diese Ebene Das Protokoll ausgegeben wird. App ist der Kategoriename des Protokolls.

Einstiegsprogramm

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();
    }
  }
}

Verwenden Sie „Dotnet Restore“, um Abhängigkeiten wiederherzustellen

Stellen Sie die aktuellen Abhängigkeiten in Git Bash wieder her Wechseln Sie das Verzeichnis in das Stammverzeichnis des Projekts (in diesem Beispiel: D:ConsoleLogApp)

Der Befehl dotnet restart wird verwendet, um die Projektdatei (project.json) im aktuellen Verzeichnis zu finden und dann zu verwenden Die NuGet-Bibliothek stellt die abhängigen Bibliotheken des gesamten Projekts wieder her, durchläuft dann jedes Verzeichnis, um Projektdateien zu generieren, und stellt weiterhin Abhängigkeiten in den Projektdateien wieder her.

Verwenden Sie „dotnet build“, um das gesamte Projekt zu kompilieren

Nach der Kompilierung ist erfolgreich, wir Der kompilierte Ordner (D:ConsoleLogAppbinDebugnetcoreapp1.0) wurde im bin-Verzeichnis unter dem Projektstammverzeichnis gefunden. Nachdem der Befehl erfolgreich ausgeführt wurde, wurde ein Debug-Verzeichnis generiert und ein Ordner mit dem Namen des Anwendungsnamens (netcoreapp1. 0, Dieser Name ist in project.json konfiguriert)

Verwenden Sie „dotnet run“, um das Programm auszuführen

Wir können Es kann sein Sie haben gesehen, dass die Ausgabeprotokolle auf der Informationsebene herausgefiltert werden und nur Protokolle oberhalb der Warnung ausgegeben werden.

Das obige ist der detaillierte Inhalt von.NET Core erstellt ein Konsolenprogramm. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn