如何修改Yeoman默认.NET Core SDK版本为2.0(Deepin Linux环境)
解决Yeoman默认使用ASP.NET Core SDK 2.0生成项目的问题
我之前也碰到过类似的糟心情况,给你几个靠谱的解决办法,按顺序试试应该能搞定:
1. 更新Yeoman的ASP.NET Core生成器
旧版本的generator-aspnet可能只默认适配SDK 1.0,先把生成器更到最新版:
npm update -g generator-aspnet
更新完成后再用Yeoman生成项目,大概率会自动切换到2.0版本了。
2. 正确配置global.json并确保Yeoman能读取到
有时候不是global.json没用,而是Yeoman读取的位置不对。你可以在用户根目录(比如~/.global.json)创建这个文件,明确指定2.0的SDK版本:
{ "sdk": { "version": "2.0.0" } }
注意要替换成你实际安装的2.0版本号(可以用dotnet --list-sdks查看准确版本)。这样不管在哪个目录用Yeoman,都会优先遵循这个全局配置的SDK版本。
3. 设置环境变量强制默认SDK版本
如果上面的方法还不行,直接给系统设置环境变量DOTNET_DEFAULT_VERSION:
- 临时生效(仅当前终端):
export DOTNET_DEFAULT_VERSION=2.0.0
- 永久生效(所有终端会话):
编辑你的shell配置文件(比如~/.bashrc或者~/.zshrc),加入上面的export命令,然后执行source ~/.bashrc(对应你的配置文件)让更改立即生效。
这样dotnet命令和依赖它的Yeoman都会默认使用指定的2.0版本。
4. 创建项目时手动指定版本(备选方案)
如果前面的都没解决,也可以在生成项目时手动指定SDK版本,避免每次都生成1.0的模板:
yo aspnet --sdk-version 2.0.0
最后验证一下,生成项目后查看项目根目录的global.json,应该已经是2.0的版本了,运行项目也不会再弹出1.0相关的提示。
内容的提问来源于stack exchange,提问作者Rogério Oliveira
相关产品推荐
相关产品推荐

