ホームページ  >  記事  >  バックエンド開発  >  .NET Core はコンソール プログラムを作成します

.NET Core はコンソール プログラムを作成します

Y2J
Y2Jオリジナル
2018-05-23 15:07:556386ブラウズ

この記事では、.NET Core でコンソール プログラムを作成する方法を主に詳しく紹介します。興味のある方は参考にしてください。

.NET Core バージョン: 1.0.0-rc2

Visual Studio バージョン: Microsoft Visual Studio Community 2015 Update 2

開発および実行プラットフォーム: Windows 7 Professional Edition 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 の最低レベルは次のように設定されます。警告、このレベルより高いログのみが出力されます。 App はログのカテゴリ名です。

エントリープログラム

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

依存関係を復元するには「dotnetrestore」を使用します

現在のディレクトリをGit Bashのプロジェクトのルートディレクトリに切り替えます(この例では:D:ConsoleLogApp)

dotnetrestoreコマンド現在のディレクトリでプロジェクト ファイル (project.json) を検索し、NuGet ライブラリを使用してプロジェクト全体の依存ライブラリを復元し、各ディレクトリを走査してプロジェクト ファイルを生成し、引き続き依存関係の復元を行うために使用されます。プロジェクトファイル。

"dotnet build" を使用してプロジェクト全体をコンパイルします

コンパイルが成功した後、プロジェクトのルート ディレクトリの bin ディレクトリにコンパイルされたフォルダー (D:ConsoleLogAppbinDebugnetcoreapp1.0) が見つかりました。実行が成功すると、デバッグ ディレクトリが生成され、アプリケーション名にちなんだ名前のフォルダーがこのディレクトリ内に生成されます (netcoreapp1.0、この名前は project.json で構成されます)

プログラムを実行するには、「dotnet run」を使用します

情報レベルの出力ログがフィルタリングされ、Warning 以上のログのみが出力されていることがわかります。

以上が.NET Core はコンソール プログラムを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。