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

如何在.NET MAUI项目中引用仅支持Windows的类库?

解决.NET MAUI项目引用Windows专属类库的损坏问题

问题根源

.NET MAUI是跨平台项目,默认同时针对Android、iOS、Windows等多个平台编译。而你创建的ClassLibrary1仅以net7.0-windows为目标框架,其他平台无法识别该类库,导致全局引用时出现损坏错误。

解决步骤

  • 调整MAUI项目的引用范围
    打开MauiApp1.csproj,将原有的ProjectReference修改为仅在Windows平台下生效的条件引用,避免其他平台加载不兼容的类库:

    <ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">
      <ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj" />
    </ItemGroup>
    
  • 隔离Windows专属代码
    在MAUI项目中,所有调用ClassLibrary1(以及FlaUI)的代码必须用平台条件编译指令包裹,确保仅在Windows环境下执行:

    #if WINDOWS
    // 示例:初始化FlaUI自动化逻辑
    using FlaUI.Core;
    using FlaUI.UIA3;
    
    var automation = new UIA3Automation();
    // 后续FlaUI操作代码
    #endif
    
  • 对齐目标框架版本
    检查ClassLibrary1.csproj的目标框架版本,确保和MAUI项目的Windows目标版本一致。MAUI默认的Windows目标通常是net7.0-windows10.0.19041.0,所以类库的TargetFramework应设置为:

    <TargetFramework>net7.0-windows10.0.19041.0</TargetFramework>
    
  • 清理重建项目
    先分别清理ClassLibrary1和MauiApp1项目,再重新生成解决方案,最后仅运行Windows平台的MAUI项目即可。

注意事项

FlaUI仅支持Windows系统,所有相关的UI自动化逻辑必须完全隔离在Windows平台专属代码中,不能在跨平台的通用代码里调用,否则会导致非Windows平台编译失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:06:05