运行C#蓝牙扫描程序报System.IO.FileNotFoundException错误求解决方案
C#蓝牙扫描程序依赖缺失报错解决方案
报错原因
你用到的蓝牙操作类库(32feet.NET)依赖System.Configuration.ConfigurationManager程序集,.NET Core、.NET 5及以上版本的框架默认不内置该程序集,因此运行时会抛出文件未找到的异常。
修复步骤
- 第一步:安装对应版本的NuGet包
你可以通过以下任意一种方式安装匹配报错版本的包:- NuGet包管理器:右键项目选择「管理NuGet程序包」,搜索
System.Configuration.ConfigurationManager,选择4.0.3版本安装即可 - 包管理器控制台执行命令:
Install-Package System.Configuration.ConfigurationManager -Version 4.0.3- dotnet CLI执行命令:
dotnet add package System.Configuration.ConfigurationManager --version 4.0.3 - NuGet包管理器:右键项目选择「管理NuGet程序包」,搜索
- 第二步:验证依赖生效
安装完成后重新生成项目运行,如果仍有报错,检查以下配置:- 若你的项目是.NET Framework类型:右键项目选择「添加」-「引用」,在程序集列表中找到
System.Configuration勾选确认后重新生成 - 检查
System.Configuration.ConfigurationManager包的「复制本地」属性是否设置为True,确保生成时会将对应dll输出到运行目录 - 可尝试更新32feet.NET类库到最新适配版,新版已优化依赖适配逻辑,可避免该类问题
- 若你的项目是.NET Framework类型:右键项目选择「添加」-「引用」,在程序集列表中找到
代码额外优化提示
你当前的代码中扫描逻辑放在独立线程运行,主线程执行完Main方法后会直接退出,导致扫描逻辑还没执行完程序就关闭,可在Main方法末尾添加Console.ReadLine();阻塞主线程,等待扫描结果输出。
内容的提问来源于stack exchange,提问作者Moaaz Briek
相关产品推荐
相关产品推荐

