这篇文章主要为大家详细介绍了.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().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以上的日志被输出了。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
A quoi sert l'interface de la console ?
MySQL crée une procédure stockée
La différence entre le masquage et le démasquage des caractères génériques
Comment définir la couleur de la police en HTML
La différence entre la balise d'article et la balise de section
vc6.0
Que signifie bloquer tous les cookies ?
Plateforme formelle de trading de devises numériques