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

VS中Angular集成.NET MVC报错:无法找到PropertyKey

解决Angular 5与.NET MVC集成时的Cannot find name 'PropertyKey'错误

嘿,我之前踩过这个坑,这个错误基本是TypeScript版本、core-js类型定义和tsconfig配置不兼容导致的,结合你的配置情况,给你几个可行的解决步骤:

1. 匹配Angular 5对应的TypeScript版本

Angular 5.x对TypeScript版本有严格要求,必须是2.4.x到2.6.x之间的版本。你可以先检查当前项目的TypeScript版本:

npm list typescript

如果版本不在这个范围内,安装对应兼容版本,比如:

npm install typescript@2.6.2 --save-dev

2. 调整tsconfig.json配置

你的tsconfig里target设为es2017,但搭配的core-js是2.4.1(对应ES2015/ES6),容易出现类型定义不匹配。建议修改如下:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5", // 改成es5或es2015,更适配core-js@2.4.1
    "typeRoots": [ "node_modules/@types" ],
    "lib": [ "dom", "es2015", "es2017" ] // 新增es2015,确保PropertyKey类型被识别
  },
  "exclude": [ "node_modules" ]
}

PropertyKey是ES2015引入的类型,所以lib里必须包含es2015才能让TypeScript识别它。

3. 安装对应版本的core-js类型定义

core-js@2.4.1需要搭配@types/core-js@2.5.x版本的类型定义,你可以安装它:

npm install @types/core-js@2.5.4 --save-dev

4. 移除旧的typings依赖

你的package.json里有typings@1.3.2,这是旧的类型管理工具,现在TypeScript已经统一用@types了,它可能会和现有类型定义冲突,建议移除:

npm uninstall typings --save

5. 清理依赖并重新安装

最后清理旧依赖,避免缓存问题:

  • 删除项目根目录的node_modules文件夹和package-lock.json文件
  • 运行npm install重新安装所有依赖
  • 重启你的IDE(比如Visual Studio),有时候IDE缓存会导致类型定义不更新

按照这些步骤操作后,应该就能解决这个PropertyKey找不到的问题了。

内容的提问来源于stack exchange,提问作者Aatish Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:46:52