>  기사  >  백엔드 개발  >  .NET Core는 콘솔 프로그램을 만듭니다.

.NET Core는 콘솔 프로그램을 만듭니다.

Y2J
Y2J원래의
2018-05-23 15:07:556406검색

이 글에서는 주로 .NET Core가 콘솔 프로그램을 생성하는 방법을 자세히 소개하며, 관심 있는 친구들은 이를 참고할 수 있습니다.

.NET Core 버전: 0-rc2

Visual Studio 버전: Microsoft Visual Studio Community 2015 Update 2

개발 및 실행 플랫폼: Windows 7 Professional Edition 서비스 팩 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의 가장 낮은 수준은 다음으로 설정됩니다. 경고, 이 수준보다 높은 로그만 출력됩니다. . 앱은 로그의 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"를 사용하여 전체 프로젝트를 컴파일합니다.

컴파일 후 성공적으로 컴파일된 폴더(D:ConsoleLogAppbinDebugnetcoreapp1.0)가 프로젝트 루트 디렉터리 아래의 bin 디렉터리에서 발견되었습니다. 명령이 성공적으로 실행된 후 디버그 디렉터리가 생성되고 애플리케이션 이름(netcoreapp1.0, 이 이름은 project.json에서 구성됩니다.)

"dotnet run"을 사용하여 프로그램을 실행합니다

할 수 있습니다. info 수준의 출력 로그는 필터링되고 Warning 이상의 로그만 출력되는 것을 볼 수 있습니다.

위 내용은 .NET Core는 콘솔 프로그램을 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.