Chilkat 9.5.0.93版本UnpackHtml接口调用失败问题求助
Chilkat 9.5.0.93
UnpackHtml 路径兼容问题解决方案 问题背景
升级Chilkat从9.5.0.84(.NET 4.7 32位)到9.5.0.93后,出现如下问题:
- 使用Windows驱动器映射路径(如
E:\tmp\mail)调用mail.UnpackHtml时,接口返回false,无法生成HTML文件 - 改用UNC路径(如
\\localmachinename\e$\tmp\mail)调用则完全正常 - 必须升级到9.5.0.93以解决Microsoft Graph连接问题,但路径兼容问题影响现有部署
解决办法
1. 自动转换路径为UNC格式
在调用接口前,把驱动器映射路径转成UNC路径,适配新版本的路径处理逻辑。示例C#代码:
string targetPath = @"E:\tmp\mail"; // 处理本地驱动器路径 if (Path.IsPathRooted(targetPath) && targetPath.Length >= 2 && targetPath[1] == ':') { string driveLetter = targetPath.Substring(0, 1); targetPath = $"\\\\{Environment.MachineName}\\{driveLetter}$\\{targetPath.Substring(3)}"; } // 调用接口 bool result = mail.UnpackHtml(targetPath);
2. 排查运行上下文权限
新版本可能强化了路径权限校验:
- 如果程序以服务账户运行,驱动器映射可能未在该账户会话中挂载,导致无法识别
- 直接给运行账户分配目标目录的读写权限,优先使用UNC路径避免会话挂载问题
3. 反馈问题给Chilkat官方
这是版本更新引入的兼容性问题,可提交详细复现步骤给Chilkat支持团队,请求修复驱动器映射路径的支持,获取临时补丁或配置项
4. 封装兼容层
给UnpackHtml做一层封装,自动处理路径转换,现有业务代码无需修改,直接调用封装后的方法即可
内容的提问来源于stack exchange,提问作者user18162999
相关产品推荐
相关产品推荐

