You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rider中.NET 6.0无法解析‘Windows’符号,使用蓝牙API报错

解决.NET 6.0中调用Windows.Devices.Bluetooth出现“Cannot resolve symbol”的问题

核心原因

Windows.Devices.Bluetooth属于Windows Runtime(WinRT)API,原本为UWP设计。非UWP类型的.NET项目(如WPF、控制台、WinForms)直接引用会出现符号无法解析的问题,因为默认.NET SDK不包含这些WinRT API的绑定。

解决方案1:添加WinRT API绑定包

  • 安装NuGet包Microsoft.Windows.SDK.Contracts,该包提供WinRT API的.NET兼容绑定,支持.NET 5+、.NET Framework 4.6.1+。
  • 修改项目文件(.csproj),指定Windows目标版本,示例:
    <PropertyGroup>
      <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
      <!-- 根据项目类型启用对应框架支持 -->
      <UseWindowsForms>true</UseWindowsForms> <!-- WinForms项目 -->
      <UseWPF>true</UseWPF> <!-- WPF项目 -->
      <EnableWindowsTargeting>true</EnableWindowsTargeting>
    </PropertyGroup>
    
    版本号可匹配你的Windows系统,比如10.0.22621.0对应Windows 11 22H2。
  • 重启Rider,清理项目缓存(File → Invalidate Caches...)后重新加载项目,即可识别Windows.Devices.Bluetooth相关符号。

解决方案2:使用第三方蓝牙库

若不想依赖WinRT API,可选用跨平台第三方库替代:

  • 32feet.NET:专为.NET打造的蓝牙开发库,支持经典蓝牙和BLE,无需依赖WinRT,安装NuGet包InTheHand.Net.Bluetooth即可使用,API设计更贴近传统.NET风格。

注意事项

  • 若之前尝试过.NET Framework,需确保项目目标框架至少为4.6.1,并安装对应版本的Microsoft.Windows.SDK.Contracts。
  • 若Rider仍无法识别符号,可手动删除项目的obj和bin目录后重新构建。

内容的提问来源于stack exchange,提问作者Zeta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 08:25:05