超好用的C#控制台应用模板
2021-06-27 19:05
标签:解析 stop htm void item log4net erp 选择 命令 在工作学习中,我们经常需要创建一些简单的控制台应用(Console App)去验证某个想法,或者作为小工具交付给其他同事。 通常我们的选择是 Visual Studio 自带的 Console App 模板,这个经典模板只有预设好的 csproj 文件和空荡荡的 代码看起来大概是这样—— 面对这如同白纸一样的模板,如果我们需要捕捉一下异常、调用一下异步方法、记录一下log呢?勤奋的你一定存有一些常用的经典代码片段和配置文件吧,那就一一复制进来呗……折腾了十来分钟后,终于可以开始写代码了…… N天之后,又需要新写个控制台应用了,我们再次重复一遍上述过程。 受到 HTML5 Boilerplate 的启发,Visual Studio Marketplace 上也出现了一款叫做 C# Console App Boilerplate 的插件,顾名思义,就是在默认 Console App 模板基础上添加常用特性以解决痒点。 可以从 Visual Studio Marketplace 上直接下载 vsix 文件安装:https://marketplace.visualstudio.com/items?itemName=vej.20181111 也可以在 Visual Studio 2017 的 Extensions and Updates 中输入 C# Console App Boilerplate 搜索并安装: 安装完成后,通过 Visual Studio 再次新建 Project 时,就可以在 Visual C# 分类下找到 Console App Boilerplate 的两个新模板。 通过 Console App Boilerplate 模板新建 Project 后,我们可以看到编辑器窗口中默认打开的 Main.cs 文件—— 我们可以直接运行样例代码,也可以将 同样是控制台应用,那么它和经典的 Console App 模板究竟有何不同呢?我们打开 Program.cs 文件便可知晓—— 此外,无论是 .NET Core 还是 .NET Framework 版本的 csproj 文件都采用了 MSBuild 15.0 新引入的 project SDK 格式。新的格式不仅更简单清爽,也带来了很多方便的特性,这里不再赘述。 在模板的基础上,如果需要解析复杂的命令行参数,可以考虑引入 NuGet 包 CommandLine.Net 进行解析。它的使用方法非常简单,GitHub 项目的一页 README 便已阐述清楚,亦支持跨平台。 反之,如果仅仅想运行几行代码,又不愿等 Visual Studio 启动呢?可以用浏览器打开 .NET Fiddle 直接尝试,它不仅支持最新的 .NET Framework 4.7.2 版本,还可以选择 Roslyn 2.0,而且在 C# 之外支持 F# 和 VB.NET。 超好用的C#控制台应用模板 标签:解析 stop htm void item log4net erp 选择 命令 原文地址:https://www.cnblogs.com/shanyou/p/10063540.html本文是Wei的公众号投稿文章:
默认模板之缺
Main
方法,偶尔还会附送一行 Console.WriteLine("Hello World!");
,除此之外没有任何附加功能。using System;
?
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
安装模板插件
模板便利特性
Work
方法中样例代码替换成我们的业务逻辑。样例代码直接运行的效果如下——
Main
方法,用来放置业务逻辑的 Work
方法同样是异步的。调用异步方法时,可以直接使用 await
关键字,省去了我们之前在同步 Main
方法中做同样操作时附加的 .Wait()
甚至是 .ConfigureAwait(false).GetAwaiter().GetResult()
的繁琐。
AggregateException
和 Exception
分别进行了捕捉和记录,并依此设置了 Exit Code。
Stopwatch
测量整体的运行时间并在最后一行日志中输出。
相关需求解法