You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio 2022中使用自定义.NET Core模板

问题解答

不需要制作VSIX包,也不需要上传到Visual Studio Marketplace,你现在的模板在VS2022中不显示,核心原因是配置不符合新版VS的模板识别规则,按以下步骤调整即可正常显示:

核心配置修正

  • 首先改对配置文件名:你现在用的ide.host.json是旧版本实验性功能的命名,VS2022正式版识别的VS专属配置文件路径是.template.config/vs-2022.3.host.json,你之前用的vs-2017.3.host schema对应的旧配置,不会被新版VS扫描加载。
  • 补全host.json的必填字段,最小可用配置参考:
{
  "$schema": "http://json.schemastore.org/vs-2022.3.host",
  "order": 0,
  "icon": "music_note_64.png",
  "language": "C#",
  "tags": {
    "type": "project",
    "language": "C#",
    "platform": "ASP.NET Core"
  },
  "symbolInfo": []
}
  • 检查根模板配置文件.template.config/template.json的必填项:
    • 必须配置全局唯一的identity字段
    • 必须配置shortName字段(你当前设的id-provider没问题,不用改)
    • 必须在tags里声明"type": "project"、"language": "C#",和host.json里的标签保持一致
    • 明确写清楚模板支持的目标框架,比如"frameworks": ["net6.0", "net7.0", "net8.0"],VS会根据本地安装的SDK匹配显示对应模板
    • 不要加"hidden": true配置,加了这个标记的模板不管怎么调都不会在VS界面显示

清缓存验证

配置改完之后,执行下面的命令重置本地模板缓存,不然旧缓存会导致新配置不生效:

dotnet new --uninstall MintPlayer.AspNetCore.IdentityServer.Templates
dotnet new --debug:reinit
dotnet new --install MintPlayer.AspNetCore.IdentityServer.Templates

命令跑完之后关掉所有开着的Visual Studio窗口,重新开VS2022,在新建项目界面搜id-provider就能找到你的模板了。

疑问说明

  • 不需要做VSIX包:VSIX是VS2019及更早版本分发模板的必需格式,从VS2022 17.4版本开始,已经原生支持直接读取通过dotnet new安装的NuGet格式模板,额外制作VSIX只会增加维护成本。
  • 不需要上传到Visual Studio Marketplace:VS会扫描本地已经安装的所有dotnet new模板,不管你的模板包是从公网NuGet源装的、本地nupkg文件装的还是直接从本地文件夹装的,只要配置符合规范就会被识别出来。

踩坑提醒

  • 模板图标建议用64*64尺寸的PNG文件,写路径的时候是相对于.template.config文件夹的相对路径,注意文件名大小写要匹配,别写错。
  • 如果是Web类模板,记得在template.json的tags里加"frameworkTags": ["aspnetcore"]标签,不然模板不会出现在Web分类下,容易漏搜。

在Visual Studio中使用.NET模板

内容的提问来源于stack exchange,提问作者Pieterjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:03:25