Salesforce部署源码至组织:Apex触发器部署遇‘Invalid type: Schema.Language_Course__c’错误的解决咨询
解决Apex触发器部署错误:"Invalid type: Schema.Language_Course__c"
这个错误我之前帮不少开发者解决过,核心问题就是Salesforce找不到你代码里引用的Language_Course__c自定义对象,咱们一步步排查解决:
确认自定义对象的API名称完全匹配
先去你的Salesforce组织里核对对象的真实API名称:- 进入Setup > Object Manager
- 搜索对象的标签名(比如你给对象起的“语言课程”这类显示名称),找到对应的对象
- 查看对象详情页的「API名称」字段,要确保和你触发器里写的
Language_Course__c完全一致——包括下划线的位置、有没有多写少写字符,比如很多人会把LanguageCourse__c(无中间下划线)写成Language_Course__c,这就会导致识别失败。
检查目标组织中是否存在该对象
如果你是从其他沙盒/组织复制的代码,很可能目标组织里还没创建Language_Course__c这个自定义对象。这种情况下,你需要先在目标组织创建该对象,或者通过变更集、VS Code部署等方式,先把对象部署到目标组织,再部署依赖它的触发器。验证部署账号的对象权限
确保你用来部署触发器的账号,拥有Language_Course__c对象的访问权限:- 进入Setup > 配置文件(Profiles)或权限集(Permission Sets)
- 找到部署账号对应的配置文件,查看「对象权限」部分,确认该对象的权限已启用(至少要有读取权限)。如果没有权限,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,提问作者שירה חלילי
相关产品推荐
相关产品推荐

