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

无需CLI,在Windows程序中获取已安装C#模板列表的方法

在自研Windows程序中实现.NET模板列表功能的方案

两种可行方案对比

1. 调用dotnet-cli命令(推荐)

直接在程序里执行dotnet new -list命令,捕获输出结果再解析即可。这种方式和dotnet-cli的行为完全一致,能自动识别所有官方、第三方安装的模板(包括用dotnet new install添加的),无需自行编写模板加载、筛选逻辑。

  • 优势:与CLI同步更新,兼容性强,实现简单,维护成本极低。
  • 实现思路:用C#的Process类启动dotnet进程,传入new -list参数,重定向标准输出,将输出内容按行拆分后提取模板名称、短名称、支持语言等信息。

2. 直接解析模板文件夹

.NET模板主要存储在两个路径:

  • 全局安装模板:%USERPROFILE%\.templateengine\packages
  • SDK内置模板:C:\Program Files\dotnet\sdk\[具体版本号]\templates
    每个模板包为nupkg格式,需先解压,再读取其中的template.json或template.config/template.json文件,解析模板元数据。
  • 劣势:需自行处理nupkg解压、多版本SDK模板识别、模板筛选逻辑,还要跟进模板格式更新调整代码,维护成本高。
  • 适用场景:仅当需要对模板做深度自定义处理(如修改元数据后展示),且能接受后续维护工作时,才考虑该方式。

总结

优先选择调用dotnet new -list命令的方案,无特殊需求的话,不建议直接解析模板文件夹。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 17:52:05