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

Salesforce部署源码至组织:Apex触发器部署遇‘Invalid type: Schema.Language_Course__c’错误的解决咨询

解决Apex触发器部署错误:"Invalid type: Schema.Language_Course__c"

这个错误我之前帮不少开发者解决过,核心问题就是Salesforce找不到你代码里引用的Language_Course__c自定义对象,咱们一步步排查解决:

  • 确认自定义对象的API名称完全匹配
    先去你的Salesforce组织里核对对象的真实API名称:

    1. 进入Setup > Object Manager
    2. 搜索对象的标签名(比如你给对象起的“语言课程”这类显示名称),找到对应的对象
    3. 查看对象详情页的「API名称」字段,要确保和你触发器里写的Language_Course__c完全一致——包括下划线的位置、有没有多写少写字符,比如很多人会把LanguageCourse__c(无中间下划线)写成Language_Course__c,这就会导致识别失败。
  • 检查目标组织中是否存在该对象
    如果你是从其他沙盒/组织复制的代码,很可能目标组织里还没创建Language_Course__c这个自定义对象。这种情况下,你需要先在目标组织创建该对象,或者通过变更集、VS Code部署等方式,先把对象部署到目标组织,再部署依赖它的触发器。

  • 验证部署账号的对象权限
    确保你用来部署触发器的账号,拥有Language_Course__c对象的访问权限:

    1. 进入Setup > 配置文件(Profiles)或权限集(Permission Sets)
    2. 找到部署账号对应的配置文件,查看「对象权限」部分,确认该对象的权限已启用(至少要有读取权限)。如果没有权限,Apex编译器会无法识别该对象类型。
  • 最后检查代码拼写
    再仔细核对你的触发器代码:

    trigger LanguageCourseTrigger on Language_Course__c (after insert, after update, after delete) {
        System.debug('Hello');
    }
    

    确保Language_Course__c的拼写和对象API名称完全一致,尤其是后缀__c是小写的(自定义对象的后缀都是小写__c,写成__C也会报错)。

按照上面的步骤排查后,修正对应的问题,重新部署触发器应该就能解决这个错误了。

内容的提问来源于stack exchange,提问作者שירה חלילי

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 08:02:42