I had the exact same problem after I migrated from Angular 9 to Angular 10.
I found the following worked for me:
TL;DR
In all the 'project' level tsconfig files (tsconfig.app.json, tsconfig.spec.json, tsconfig.e2e.json) just change the 'extends' property from:
{
"extends": "../tsconfig.json"
...
}
To the following:
{
"extends": "../tsconfig.base.json"
...
}
Full Version
Before running ng update I had the following structure:
ClientApp
|_ tsconfig.json
|_ src
|_ tsconfig.app.json
|_ tsconfig.spec.json
|_ e2e
|_ tsconfig.e2e.json
After running ng update I had the following structure:
ClientApp
|_ tsconfig.json
|_ tsconfig.base.json
|_ src
|_ tsconfig.app.json
|_ tsconfig.spec.json
|_ e2e
|_ tsconfig.e2e.json
After reading the Angular migration notes I noticed my version of tsconfig.json and tsconfig.base.json were identical. This still worked but it didn't match what Angular were describing in the notes. So I decided to change my `tsconfig.json. manually to the following:
{
"files": [],
"references": [
{
"path": "./src/tsconfig.app.json"
},
{
"path": "./src/tsconfig.spec.json"
},
{
"path": "./e2e/tsconfig.e2e.json"
}
]
}
And like everyone else it broke my app.
So I had a look at the 'project' level tsconfig files and noticed the 'extends' property was still point to tsconfig.json and not to tsconfig.base.json. After updating my 'project' level tsconfig files to pointing to the tsconfig.base.json file everything just worked.
Happy days!
:-)
I am guessing the ng update should "automagically" find and update all the 'project' level tsconfig files but it looks like it doesn't. The fix however is fairly straight forward though.
Update
Although changing extends property did resolve my compilation issues. When I closed and reopened Visual Studio the next day the IntelliSense started to fail.
Only by making the tsconfig.json to be the same as the tsconfig.base.json could I get both the compilation and IntelliSense working.