使用dotnet new创建ASP.NET Core+Angular6项目时angular.json缺失及报错问题
解决ASP.NET Core + Angular6项目手动添加angular.json后出现的Workspace加载错误
这个问题我之前也踩过坑,手动添加的angular.json大概率是格式不匹配项目结构或者Angular CLI无法正确识别它的配置导致的。下面给你几个靠谱的解决步骤:
1. 先确认angular.json的存放位置
ASP.NET Core + Angular6的模板项目里,前端代码默认是放在ClientApp文件夹下的,所以你的angular.json必须放在ClientApp目录里,而不是项目根目录!放错位置的话,CLI根本找不到正确的工作区路径。
2. 用Angular CLI生成适配的angular.json
手动写angular.json很容易漏配置,不如让CLI帮你生成匹配现有项目的配置:
- 打开命令行,切换到
ClientApp目录:cd ClientApp - 因为你的项目是Angular6,要确保全局安装的Angular CLI是6.x版本(避免版本不兼容):
npm install -g @angular/cli@6 - 运行初始化命令,CLI会检测你现有的项目文件,生成正确的工作区配置(不会覆盖你的现有代码):
ng init --skip-git --skip-install
3. 检查angular.json的核心配置
如果还是报错,打开生成的angular.json,确认几个关键配置项:
defaultProject:要和projects节点下的项目名称一致(比如你的项目叫ClientApp,这里就设为ClientApp)projects -> [你的项目名] -> root:应该设为.(因为配置文件就在项目根目录下)projects -> [你的项目名] -> sourceRoot:应该设为src,指向你的前端源码文件夹
4. 重新安装依赖并验证
- 删除
ClientApp下的node_modules文件夹和package-lock.json文件 - 运行
npm install重新安装依赖 - 最后试试
ng version或者ng serve,如果能正常输出信息,说明工作区已经可以正确加载了
小提示:如果还是有问题,检查你的Node.js版本——Angular6要求Node.js 8.9.x及以上、npm 5.5.x及以上,版本不匹配也会导致奇怪的工作区加载问题。
内容的提问来源于stack exchange,提问作者MuhanadY
相关产品推荐
相关产品推荐

