NETSDK1130错误求助:无法直接引用Windows元数据组件问题排查
.NET 8.0 WPF蓝牙功能配置问题排查思路
确认TargetFramework的完整配置
- 检查项目文件是否指定了具体的Windows版本号,比如
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>。仅写net8.0-windows可能默认版本过低,无法包含蓝牙相关的Windows Runtime API。 - 确保项目中没有多个TargetFramework冲突,比如同时存在
net8.0和net8.0-windows,导致框架优先使用非Windows版本。
- 检查项目文件是否指定了具体的Windows版本号,比如
移除手动添加的
Windows.winmd引用- .NET 5+无需手动引用Windows元数据文件,手动添加会触发NETSDK1130错误。直接删除项目中对
Windows.winmd的引用,依赖框架自动引入的Windows Runtime API即可。
- .NET 5+无需手动引用Windows元数据文件,手动添加会触发NETSDK1130错误。直接删除项目中对
验证Windows Runtime API启用配置
- 在项目文件中确认存在
<EnableWindowsRuntimeSupport>true</EnableWindowsRuntimeSupport>,这是WPF项目启用Windows Runtime API的关键配置。同时确保<UseWindowsForms>false</UseWindowsForms>(WPF项目默认值,避免冲突)。
- 在项目文件中确认存在
清理项目缓存并重新编译
- 删除项目的
bin和obj目录,重启Visual Studio后重新生成解决方案。缓存异常可能导致命名空间识别失败。 - 尝试使用命令行执行
dotnet clean和dotnet build,排除IDE本身的问题。
- 删除项目的
确认蓝牙API的版本兼容性
- 检查
Windows.Devices.Bluetooth下具体API的最低Windows版本要求,对应调整TargetFramework的版本号(比如部分高级蓝牙功能需要Windows 10 2004及以上版本)。
- 检查
检查项目平台目标配置
- 将项目平台目标设置为x64或x86,避免使用Any CPU。部分Windows Runtime API在Any CPU模式下存在兼容性问题。
内容的提问来源于stack exchange,提问作者Arcus
相关产品推荐
相关产品推荐

