配置完成后无法运行基于C#的Selenium程序
解决C# Selenium程序中System.Net.Http相关DLL缺失问题的方案
1. 修复NuGet依赖
- 打开项目的NuGet包管理器,卸载并重新安装
System.Net.Http和System.Net.Http.WebRequest包,确保版本与项目的.NET框架版本完全匹配。如果是.NET Core/.NET 5+项目,System.Net.Http.WebRequest可能已被弃用,可尝试移除该引用后重新编译。
2. 调整安装程序的文件包含策略
- Visual Studio Installer Projects:
- 右键安装项目 → 添加 → 项目输出,选择主项目的「主输出」和「内容文件」,确认这些DLL被包含在输出组内。
- 若仍被排除,手动添加:右键安装项目 → 添加 → 文件,定位到项目
bin\Release(或Debug)目录下的目标DLL,直接加入安装包。
- 其他打包工具(WiX/Inno Setup等):
- 检查打包脚本中的文件筛选规则,确保未将
System.Net.Http*.dll列入排除列表,手动添加这些文件到打包清单。
- 检查打包脚本中的文件筛选规则,确保未将
3. 设置引用的「复制本地」属性
- 在项目的引用列表中找到
System.Net.Http和System.Net.Http.WebRequest,右键打开属性面板,将「复制本地」设置为True。这样编译时DLL会被自动复制到输出目录,安装程序就能正确捕获。
4. 手动部署DLL
- 如果以上方法都无效,直接将缺失的DLL文件复制到程序的安装目录(与主EXE同路径),确保DLL版本与项目编译时使用的一致,再启动程序测试。
补充:Selenium驱动初始化检查
确保驱动初始化逻辑正确,必要时指定驱动文件路径:
// 示例:指定GeckoDriver路径 var driverService = FirefoxDriverService.CreateDefaultService(@"你的驱动文件路径"); var driver = new FirefoxDriver(driverService); driver.Navigate().GoToUrl("https://www.google.com/");
内容的提问来源于stack exchange,提问作者PanosGns
相关产品推荐
相关产品推荐

