从Data Factory触发Logic App遇CodeGenerator程序集缺失问题求助
我来帮你拆解这个问题——这个CodeGenerator, Version=1.1.0.0程序集是.NET Framework的核心组件之一,主要负责动态代码生成、HTTP请求的序列化/反序列化这类底层操作,你的Windows 2016 VMSS上的自托管运行时环境大概率是缺少了这个依赖或者.NET框架本身有损坏。下面是具体的排查和修复步骤:
先检查VM实例上的.NET Framework版本
Windows Server 2016默认安装的是.NET Framework 4.6.2,而这个CodeGenerator组件在更高版本(比如4.7.2及以上)的.NET框架里才会稳定存在。你可以在VM上打开控制面板 → 程序和功能,找到已安装的.NET Framework版本,确认是否需要升级。修复或升级.NET Framework
如果版本低于4.7.2,直接下载.NET Framework 4.8的安装包,运行安装时选择「修复」选项——这个操作会自动扫描并补全所有缺失的.NET系统程序集,包括你找不到的CodeGenerator.dll。检查自托管运行时的日志细节
你可以到VM上的自托管运行时安装目录(默认是C:\Program Files\Microsoft Integration Runtime\5.0),打开GatewayService.log日志文件,里面会有更详细的依赖加载失败信息,能帮你定位是不是还有其他关联组件缺失。验证Data Factory Web活动的请求配置
有时候请求格式不对也会触发这个异常。确保你的Web活动:- 请求方法设置为
POST(对应Logic App的HTTP触发器) - 请求头里包含
Content-Type: application/json - 请求体的JSON格式完全符合Logic App触发器的预期结构
- 请求方法设置为
手动注册程序集(如果修复.NET后仍无效)
如果修复.NET框架后问题还在,试试手动注册这个DLL:- 在VM上找到
CodeGenerator.dll,路径一般是C:\Windows\Microsoft.NET\Framework64\v4.0.30319(64位环境),32位环境则是Framework目录 - 右键以管理员身份打开命令提示符,运行:
regsvr32 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\CodeGenerator.dll"
- 在VM上找到
重启自托管运行时服务
完成上述操作后,在VM的服务管理器里找到Microsoft Integration Runtime Gateway Service,重启它让新的依赖配置生效。
最后,也建议把你的自托管运行时升级到最新版本,新版本通常会修复不少依赖兼容性的问题。
内容的提问来源于stack exchange,提问作者PMC Karur

