BizTalk 2020 Oracle UDT加载异常及DLL生成问题求助
BizTalk 2020 Oracle UDT DLL加载异常问题
问题现象
- 在BizTalk 2020中调用Oracle时触发
System.Reflection.ReflectionTypeLoadException,提示无法加载请求类型,需查看LoaderExceptions属性,堆栈跟踪确认是加载UDT(用户自定义类型)DLL时出错 - 该应用在BizTalk 2016环境中运行完全正常
已执行的排查操作
- 使用
GacUtil将BizTalk 2016中正常运行的同版本UDT DLL注册到BizTalk 2020的GAC中 - 配置发送端口的
userAssembliesLoadPath属性,指定UDT DLL的正确路径 - 为该发送端口创建独立的宿主实例,分别尝试32位和64位运行模式
- 验证环境中另一使用不同UDT DLL的BizTalk应用运行正常,排除环境整体适配问题
- 尝试用Visual Studio 2019重新生成UDT DLL:通过「Add Generated Items」→「Add Adapter Metadata」选择WCF-OracleDB适配器,仅生成了架构文件,未生成预期的UDT DLL
异常捕获困境
- 尝试捕获
System.Reflection.ReflectionTypeLoadException以获取LoaderExceptions属性,从而定位具体加载失败原因,但未成功触发该捕获块 - 当前仅
System.Exception捕获块触发,捕获到的异常类型为Microsoft.XLANGs.Core.XlangSoapException,且InnerException为空 - 添加
System.Reflection.ReflectionTypeLoadException捕获块、双向发送端口Soap 1.1 Fault捕获块均未生效 - 获取异常的BaseException,其类型同样为
Microsoft.XLANGs.Core.XlangSoapException,无法获取底层加载异常的详细信息
内容的提问来源于stack exchange,提问作者NealWalters
相关产品推荐
相关产品推荐

