DotNetBrowser从V1升级到V2时的异常问题求助
DotNetBrowser V1 迁移至 V2 启动异常与权限问题排查记录
迁移背景
- 此前长期使用DotNetBrowser V1版本,Chromium二进制文件集成在NuGet包中运行稳定,多实例启动复用用户目录的问题已在多年前解决
- 2020年获取V2版本许可证,遂升级至当时最新的2.24.1版本,完成JavaScript调用适配后,引擎启动环节出现严重阻碍
核心问题现象
- 调用
EngineFactory.Create初始化引擎时耗时长达数分钟,疑似卡在Chromium DLL下载/解压环节,频繁抛出以下异常:RPC call timed outCannot perform this operation, because the object is already disposed
- 偶尔成功创建
IEngine实例后,创建IProfile或IBrowser时会触发Cannot perform this operation because the connection to Chromium is closed异常 - 确认无额外DotNetBrowser实例运行,但初始化始终耗时极久且最终触发异常
初始化代码片段
string base_data_directory = @"C:\test"; string chromium_directory = base_data_directory + @"\chromium_dir"; EngineOptions engineOptions = new EngineOptions.Builder { ChromiumDirectory = base_data_directory, CrashDumpDirectory = chromium_directory + @"\CrashDump\", UserDataDirectory = chromium_directory + @"\User\", SandboxDisabled = true }.Build(); IEngine engine = EngineFactory.Create(engineOptions);
尝试的排查与修复路径
许可证版本兼容性验证
- 查阅官方FAQ得知,许可证仅对有效期内发布的版本有效,虽未收到许可证相关异常,仍尝试回退至许可证有效期内的最后版本2.1.1
- 回退后出现新异常:
Unable to find or restore compatible Chromium binaries. The compatible binaries were not found in the assembly,且NuGet中无公开的2.1.1版本Chromium配套包
日志与权限排查
- 2023.11.03补充日志分析后,怀疑问题出在许可证应用环节
- 2023.11.06最终定位:问题源于用户数据目录、崩溃转储目录及Chromium目录的权限配置异常,该问题仅影响Windows 10设备,Windows 11无此现象
最终修复方案
通过以下代码确保目标目录具备足够权限,解决启动异常问题:
private DirectoryInfo MakeDirectoryAndUpdateSecuritySettings(string directory) { DirectoryInfo dir = Directory.CreateDirectory(directory); dir.Attributes &= ~FileAttributes.ReadOnly; DirectorySecurity security = dir.GetAccessControl(); SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null); security.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow)); dir.SetAccessControl(security); return dir; }
疑问
是否有其他开发者遇到过同类权限导致的DotNetBrowser V2启动异常?若启动耗时过长及随机异常无法彻底解决,我可能会退回V1版本。
内容的提问来源于stack exchange,提问作者Justin W.
相关产品推荐
相关产品推荐

