Template

创建.Net项目模板包

创建,net,项目,模板 · 浏览次数 : 32

小编点评

**准备步骤:** 1. 创建一个名为 `Template` 的文件夹。 2. 在 `Template` 中创建以下文件: - `template.csproj`:包含项目模板的配置。 - `template.json`:定义模板的属性。 **打包生成 NuGet 模板包命令:** ``` dotnet pack --output-path Template --configuration-file template.json ``` **发布和安装模板包命令:** ``` dotnet new install KnownTemplate ``` **使用模板创建新项目命令:** ``` dotnet new known --name=TIMS ``` **结果:** 1. 创建了一个名为 `KnownTemplate` 的文件夹。 2. 包含了解决方案模板的 NuGet 包。 3. 将 `KnownTemplate.1.0.0.nupkg` 包复制到本地 NuGet源或上传到 NuGet 网站。 4. 使用模板创建了一个新项目,命名为 `TIMS`。 5. 项目创建成功提示。 **总结:** 生成的 NuGet 模板包包含项目模板的配置和 JSON 属性,可用于创建和安装新项目。

正文

1. 准备解决方案打包文件

  • 创建文件夹Template
  • 在Template下创建template.csproj,内容如下
  <Project Sdk="Microsoft.NET.Sdk">
  
    <PropertyGroup>
      <PackageType>Template</PackageType>
      <PackageVersion>1.0.0</PackageVersion>
      <PackageId>KnownTemplate</PackageId>
      <Title>KnownTemplate</Title>
      <Authors>KnownChen</Authors>
      <Description>Project Template for Known.</Description>
      <PackageTags>dotnet-new;templates;Known</PackageTags>
  
      <TargetFramework>net7.0</TargetFramework>
  
      <IncludeContentInPack>true</IncludeContentInPack>
      <IncludeBuildOutput>false</IncludeBuildOutput>
      <ContentTargetFolders>content</ContentTargetFolders>
      <NoWarn>$(NoWarn);NU5128</NoWarn>
    </PropertyGroup>
  
    <ItemGroup>
      <Content Include="Template\**\*" Exclude="Template\**\bin\**;Template\**\obj\**" />
      <Compile Remove="**\*" />
    </ItemGroup>
  
  </Project>
  • 在Template下再创建文件夹Template,把解决方案模板复制进去

    注意:解决方案所有文件不要使用Template词语,否则创建项目时将文件中的Template替换成项目名称

  • 在Template/Template文件夹在创建.template.config文件夹
    image

  • 在.template.config文件夹下创建template.json文件,内容如下

{
  "$schema": "http://json.schemastore.org/template",
  "author": "KnownChen",
  "classifications": [ "Template" ],
  "name": "KnownTemplate",
  "identity": "KnownTemplate", 
  "shortName": "known",
  "tags": {
    "language": "C#" 
  },
  "sourceName": "Template" /*此处与解决方案名称一致,安装项目时自动替换成项目名称*/
}

2. 打包生成nuget模板包

  • 命令行进入Template目录,输入如下命令回车
dotnet pack
  • 打包成功提示如下图
    image

3. 发布和安装模板包

  • 将生成的KnownTemplate.1.0.0.nupkg包复制到本地nuget源或上传到nuget网站
  • 命令行输入如下命令安装模板包
dotnet new install KnownTemplate
  • 安装成功提示如下图
    image

4. 使用模板创建新项目

  • 命令行输入如下命令创建项目,使用模板的shortName
  dotnet new known --name=TIMS
  • 创建成功提示如下图
    image

  • TIMS项目模板创建结果如下图
    image

与创建.Net项目模板包相似的内容:

创建.Net项目模板包

1. 准备解决方案打包文件 创建文件夹Template 在Template下创建template.csproj,内容如下 Template

如何在现有项目中使用`Masa MiniApi`?

首先我们现有创建一个空的WebApi的项目模板,这个项目模板和MasaFramework本身没有任何关联,我们本博客只是使用的MasaFramework的MiniApi的包 创建Asp.NET Core 空的项目模板 项目名称MFMiniApi 其他信息看图,取消Https配置,也可以选择, 这就是

创建Avalonia 模板项目-基础

# 创建Avalonia 模板项目-基础 Avalonia是一个跨平台的.NET框架,用于构建漂亮、现代的图形用户界面(GUI)。使用Avalonia,您可以从单个代码库创建适用于Windows、macOS、 Linux、iOS、Android和Web Assembly的原生应用程序。 本文部分内容

C#的基于.net framework的Dll模块编程(二) - 编程手把手系列文章

今天继续这个系列博文的编写。接上次的篇幅,这次介绍关于C#的Dll类库的创建的内容。因为是手把手系列,所以对于需要入门的朋友来说还是挺好的,下面开始咯: 一、新建Dll类库; 这里直接创建例子的Dll类库项目,至于项目文件目录的存放布局后面的例子中会介绍。 在解决方案资源管理器上鼠标右键,选择“添加

使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介

[TOC] # 前世今生 ## OpenTracing OpenTracing 项目启动于 2016 年,旨在提供一套分布式追踪标准,以便开发人员可以更轻松地实现分布式追踪。 OpenTracing 定义了一套 Tracing 模型,以及一套 API,用于在应用程序中创建和管理这些数据模型。 下面是

.NET 6+Semantic Kernel快速接入OpenAI接口

Semantic Kernel 与 LangChain 类似,但 Semantic Kernel 是为应用开发开发人员创建的SDK项目,它支持.NET, Python 以及 Java,但是对.NET支持最成熟(微软自家孩子嘛),可以让你的应用很轻易的集成AI大语言模型。今天我们快速地使用Semant...

.Net 中间件 - 新开源代码生成器 -ReZero

ReZero AP ReZero是一款.NET中间件 : 全网唯一界面操作就能生成API , 可以集成到任何.NET6+ API项目,无破坏性,也可让非.NET用户使用exe文件 ReZero生成器功能简介 1、表文档导出:支持目录导航 2、在创建表、在线建库 3、一键导入现有表 4、模版在线调试

使用EF 连接 数据库 SQLserver、MySql 实现 CodeFirst

1.新建项目,下载Nuget安装包 创建项目需要注意几点,如果是基于 .net framework 的项目 需要选择 相应版本的 EF, 如果是跨平台则选择EF Core版本。 我这里选择的是 .net framework 版本。红框里面是 实现EF Code First 需要的包。 对应的版本:

使用C#/.NET解析Wiki百科数据实现获取历史上的今天

创建一个webapi项目做测试使用。 创建新控制器,搭建一个基础框架,包括获取当天日期、wiki的请求地址等 创建一个Http请求帮助类以及方法,用于获取指定URL的信息 使用http请求访问指定url,先运行一下,看看返回的内容。内容如图右边所示,实际上是一个Json数据。我们主要解析 大事记 部

go创建web项目分别在windows和linux部署

转载请注明出处: 1.通过idea 创建go项目,并指定go版本,以及创建main.go 的入口类 创建的项目名称为:go_web_test1, main.go 中代码如下: package main import ( "fmt" "net/http" ) func handler(w http.R