背景
文章https://blog.youkuaiyun.com/iml6yu/article/details/123478413介绍了如何创建自己的模板,但是如果想要给自己的模板再创建一个命令呢。
类似这样
创建命令工具
创建一个控制台程序,修改项目文件
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<!--生成net tool-->
<PackAsTool>true</PackAsTool>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Authors>iml6yu</Authors>
<AssemblyVersion>1.0.0.1</AssemblyVersion>
<FileVersion>1.0.0.1</FileVersion>
<PackageReleaseNotes>测试</PackageReleaseNotes>
<Version>1.0.0.1-bate001</Version>
<Description>测试</Description>
</PropertyGroup>
</Project>
编译生成nuget包
代码如下:
// See https://aka.ms/new-console-template for more information
if(args.Length == 0)
{
Console.WriteLine("Hello,欢迎使用这个测试命令!");
}
foreach(var item in args)
{
Console.WriteLine(item);
}
然后安装nuget包后就可以看到效果了,如下
结合 文章https://blog.youkuaiyun.com/iml6yu/article/details/123478413就可以创建自己的一个命令行+模板的形式内容了。
使用场景
平台项目
比如公司内会长期签订类似的合同,特别是一些小微企业,可能经常签订一些食堂点单系统,或者在线调度系统 等等, 我们可以将这些系统常见的功能制作成固定模板,在新项目启动时,通过命令生成自己想要的项目结构和目录。
包装第三方系统
比如我们在github或者gitee上看到一些不错的系统结构,但是一般不会提供这样的工具,每次都要下载下来后修改一些配置文件等,我们可以在第一次修改后创建一个模板和工具命令,下次可以直接使用。
更多用法慢慢发现吧。
与Docker镜像对比
优点
- 比docker更灵活
- 轻量化
- 不需要容器
缺点
- 需要大量的开发工作
- 配置复杂
- 不能实现系统隔离
总结
其实这种工具和docker不存在对比性,因为是两个场景的东西,但是在极小部分的功能上略有类似。
瞎编乱造的文字数量应该差不多了,不编了如果你需要就那走吧。
https://docs.microsoft.com/zh-cn/dotnet/core/tools/global-tools