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

Azure DevOps CI/CD中Angular+.NET Core项目ng build --prod报kind未定义错误

解决Angular 8 ng build --prod 中 ng-multiselect-dropdown 的 TypeError: Cannot read property 'kind' of undefined 错误

我之前维护Angular 8项目时碰到过一模一样的问题,根源就在你用的ng-multiselect-dropdown@0.2.5版本太老旧,和Angular 8的build-optimizer编译工具不兼容,才会抛出这个错误。下面给你几个可行的解决办法,按优先级推荐:

方案1:升级ng-multiselect-dropdown到兼容Angular 8的版本

这是最稳妥的长期解决方案,旧版本的库没有适配Angular 8的编译链规则,升级后就能彻底解决冲突。你需要把这个库升级到2.0.0及以上版本(这个版本开始正式支持Angular 8)。

操作步骤:

  1. 先卸载旧版本:
npm uninstall ng-multiselect-dropdown
  1. 安装兼容的新版本:
npm install ng-multiselect-dropdown@2.0.0 --save
  1. 重新执行生产构建命令:
ng build --prod

方案2:临时禁用build-optimizer(应急使用)

如果暂时无法升级库(比如项目依赖的旧API暂时没法调整),可以通过修改angular.json禁用build-optimizer来绕过错误。但要注意,这会导致构建后的包体积变大,不建议长期使用。

操作步骤:

打开项目根目录的angular.json,找到生产环境配置节点(通常是projects.你的项目名.architect.build.configurations.production),修改以下两个配置项:

"configurations": {
  "production": {
    "optimization": false,
    "buildOptimizer": false,
    // 保留其他原有配置...
  }
}

保存后重新执行ng build --prod即可。

方案3:确认其他依赖的兼容性

从你提供的package.json来看,大部分依赖都是Angular 8兼容的版本,但可以额外做两个验证:

  • @angular-devkit/build-angular版本~0.800.1和Angular CLI^8.0.1匹配,没问题
  • typescript@3.4.5是Angular 8官方推荐的版本,符合要求

如果升级库后还有报错,可以检查组件中使用ng-multiselect-dropdown的代码,新版本可能有API调整,需要对应修改。


内容的提问来源于stack exchange,提问作者bhagwat kushwaha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:31:54