.NET Core创建一个控制台(Console)程序

发布时间 - 2026-01-11 00:34:52    点击率:

.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  # ASP.NET Core自定义本地化教程之从文本文件读取本地化字符串  # win10下ASP.NET Core部署环境搭建步骤  # .NET Core Windows环境安装配置教程  # 简单谈谈.NET Core跨平台开发  # 详解ASP.NET Core Token认证  # ASP.NET Core配置教程之读取配置信息  # .NET Core中本地化机制的深入讲解  # 配置文件  # 成了  # 专业版  # 是在  # 在此  # 才会  # 遍历  # 运行平台  # 可以看到  # 掉了  # 设置为  # 该项目  # 大家多多  # 切换到  # 中把  # 不包含  # 类目  # 主要目的是  # 本例  # 加载 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何快速搭建个人网站并优化SEO?  电商网站制作价格怎么算,网上拍卖流程以及规则?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  微信小程序 配置文件详细介绍  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  新三国志曹操传主线渭水交兵攻略  如何在建站主机中优化服务器配置?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  免费网站制作appp,免费制作app哪个平台好?  Laravel怎么实现模型属性的自动加密  HTML 中如何正确使用模板变量为元素的 name 属性赋值  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  微信小程序 input输入框控件详解及实例(多种示例)  如何利用DOS批处理实现定时关机操作详解  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  canvas 画布在主流浏览器中的尺寸限制详细介绍  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何在香港服务器上快速搭建免备案网站?  详解CentOS6.5 安装 MySQL5.1.71的方法  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何在云主机上快速搭建多站点网站?  如何在服务器上配置二级域名建站?  如何破解联通资金短缺导致的基站建设难题?  如何快速搭建高效可靠的建站解决方案?  黑客如何利用漏洞与弱口令入侵网站服务器?  如何获取免费开源的自助建站系统源码?  js实现获取鼠标当前的位置  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  企业网站制作这些问题要关注  lovemo网页版地址 lovemo官网手机登录  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解