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

使用CLI自定义模板创建C#项目时生成空文件夹问题求助

使用CLI自定义模板创建C#项目时生成空文件夹问题求助

兄弟我太懂这种明明步骤全走了、输出还显示成功,但结果却是空文件夹的憋屈了!你说你做了微服务模板打包成nupkg,安装后生成空目录,这确实挺头疼的,我给你列几个常见的排查方向,你挨个试试:

  • 先检查模板文件的包含规则:模板引擎默认不会自动包含所有文件,你得在template.json里添加sources节点,明确告诉它要打包哪些内容。比如你的模板文件都在当前目录,就可以这么写:

    "sources": [
      {
        "source": ".",
        "exclude": [
          "**/bin/**",
          "**/obj/**",
          "template.json",
          "*.nupkg"
        ]
      }
    ]
    

    这里source指定模板文件的根路径,exclude排除掉编译输出、模板配置本身这些不需要的文件,不然打包的时候会把没用的东西带进去,反而可能影响模板生成。

  • 确认nupkg包里确实有模板文件:nupkg本质就是个zip包,你把后缀改成.zip解压看看,里面是不是除了template.json,还有你写的微服务项目文件(比如.csproj、.cs文件这些)。如果包里只有配置文件,那安装后肯定生成空文件夹,说明你打包的时候没把实际的模板文件包含进去,得调整打包命令或者nuspec文件(如果用了的话)。

  • 检查template.json的语法完整性:你给的代码里symbols部分截断了,要是这里有JSON语法错误(比如缺括号、逗号错放),模板引擎可能静默失败,表面返回成功但实际没生成内容。把整个template.json用JSON校验工具过一遍,确保格式完全正确。

  • 用详细日志排查生成过程:试试用诊断模式运行模板生成命令,比如:

    dotnet new microservice -n TestMicroservice -o TestDir -v diag
    

    这个命令会输出非常详细的日志,能看到模板引擎是怎么查找文件、替换变量的,说不定能找到为什么没生成文件的具体原因——比如某个文件被意外排除了,或者变量替换出了问题。

  • 重新安装模板试试:有时候模板安装可能有缓存或者隐性错误,先卸载再重新安装:

    dotnet new uninstall MicroService.Template
    dotnet new install ./你的模板包路径.nupkg
    

    安装完用dotnet new list确认你的microservice模板确实在列表里,分类和信息都正确。

要是这些都试过还不行,你可以把完整的template.json和模板文件结构发出来,我再帮你盯着看细节!

备注:内容来源于stack exchange,提问作者Audiosleef

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 07:39:38