Ubuntu 18.04安装dotnet-sdk-2.1.105后dotnet new无模板问题求助
解决Ubuntu 18.04上dotnet-sdk-2.1.105无可用模板的问题
我之前维护旧.NET项目时碰到过一模一样的问题,这类较老版本的SDK偶尔会因缓存损坏、安装不完整导致模板加载异常,下面是我亲测有效的解决步骤:
第一步:确认SDK安装状态
先别急着操作,先验证SDK是否被系统正确识别。在终端运行:
dotnet --info
重点看这两部分输出:
- 确认
SDKs列表里有没有2.1.105版本的条目 - 检查
Template locations是否包含系统级路径(比如/usr/share/dotnet/sdk/2.1.105/templates)和用户级路径(比如~/.dotnet/templates)
如果SDK没被识别,优先解决安装问题;如果能识别到SDK但模板路径为空,继续下一步。
第二步:重置模板缓存
这是最常见的修复手段,.NET的模板缓存偶尔会因安装中断、权限问题损坏。运行以下命令重置缓存:
dotnet new --debug:reinit
如果是系统级安装的SDK,可能需要管理员权限,加上sudo再试:
sudo dotnet new --debug:reinit
执行完后再运行dotnet new,看看模板列表是否恢复。
第三步:检查模板目录完整性
如果重置缓存后还是没有模板,大概率是SDK安装不完整。打开终端查看系统级模板目录:
ls -la /usr/share/dotnet/sdk/2.1.105/templates
如果这个目录为空或者不存在,说明SDK安装过程出错了,需要重新安装:
- 先卸载现有SDK:
sudo apt remove --purge dotnet-sdk-2.1 sudo apt autoremove
- 清理残留的缓存文件:
rm -rf ~/.dotnet
- 重新安装dotnet-sdk-2.1.105:
确保你的微软源配置正确(Ubuntu 18.04对应源为deb [arch=amd64] https://packages.microsoft.com/ubuntu/18.04/prod bionic main),然后运行:
sudo apt update sudo apt install dotnet-sdk-2.1.105
第四步:排查用户级模板权限
有时候用户目录下的模板缓存权限异常也会导致加载失败。可以删除用户级模板目录后再重置:
rm -rf ~/.dotnet/templates dotnet new --debug:reinit
按照上面的步骤一步步排查,基本都能解决模板为空的问题。
内容的提问来源于stack exchange,提问作者Hứa Anh Minh
相关产品推荐
相关产品推荐

