Smart.Console.Template 4.0.3

dotnet new install Smart.Console.Template::4.0.3                
This package contains a .NET Template Package you can call from the shell/command line.

Smart.Console.Template

.NET 8/9 NuGet NLog

基于 .NET 通用主机(IHost)的控制台应用快速开发框架,集成依赖注入、配置管理和后台服务支持。

功能特性

1. 现代化控制台架构

  • 基于 Microsoft.Extensions.Hosting 构建
  • 支持后台服务(IHostedService
  • 内置优雅停机(Ctrl+C 中断处理)

2. 开箱即用的组件

  • 配置系统
csharp
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables()
.AddUserSecrets<Program>()
  • 依赖注入
csharp
services.ScanCustomizedServices(); // 自动扫描注册服务

3. 关键设计

csharp
// 中文编码支持(GBK/GB2312)
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

// 后台服务异常处理
services.Configure<HostOptions>(options =>
{
  options.BackgroundServiceExceptionBehavior = BackgroundServiceExceptionBehavior.Ignore;
});

快速开始

安装

bash
dotnet new install Smart.Console.Template

创建项目

bash
dotnet new smart.console -n MyDemo

添加服务

csharp
// 实现 IHostedService
public class DemoService : BackgroundService
{
  protected override Task ExecuteAsync(CancellationToken stoppingToken)
  {
    // 你的业务逻辑
  }
}

// 通过特性自动注册
[Service(ServiceLifetime.Singleton, InjectScheme.OnlySelf)]
public class DataService
{
  // 你的业务逻辑
}

部署要求

必须使用「依赖框架」部署模式
项目发布时请使用以下命令配置(目标框架由您指定,此处为net8.0):

bash
dotnet publish -c Release --self-contained false -f net8.0
部署模式 适用场景 本模板要求
依赖框架 目标机器已安装 .NET 运行时 ✅ 强制使用
独立部署 无运行时环境 ❌ 不支持

推荐搭配 .NET 运行时安装脚本 部署

开发建议

服务注册约定

用户需要了解Smart.Inject框架的用法,访问Smart.Inject

Developed by zenglei

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.3 207 3/4/2025
4.0.2 97 2/26/2025
4.0.1 96 2/16/2025
4.0.0 97 2/15/2025
3.2.0 101 2/14/2025
3.1.2 106 2/9/2025
3.1.1 99 12/29/2024
3.1.0 105 12/7/2024
3.0.1 103 12/7/2024
3.0.0 100 12/7/2024
2.0.1 93 11/27/2024
2.0.0 95 11/26/2024
1.0.0.8 114 11/11/2024
1.0.0.7 101 10/30/2024
1.0.0.6 102 10/29/2024
1.0.0.5 102 10/29/2024
1.0.0.4 104 10/29/2024
1.0.0.3 97 10/29/2024
1.0.0.2 99 10/29/2024
1.0.0.1 109 10/27/2024
1.0.0 105 10/22/2024