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

构建引用标准.NET 6类库的.NET MAUI应用:发布报错求助

解决.NET MAUI发布时找不到类库元数据文件的问题

问题背景

我有一个跨项目复用的标准.NET 6类库,将其加入.NET MAUI解决方案并添加项目引用后,调试运行正常,但发布时提示找不到元数据文件..\bin\Release\net6.0\win10-x64\myclasslibrary.dll,实际该类库生成在..\bin\Release\net6.0\win-x64\myclasslibrary.dll。尝试给类库添加net6-windows框架后,仍只生成win-x64目录,未生成win10-x64目录。

以下是两种可行的解决方法:


方案一:让MAUI发布时指向win-x64目录

修改MAUI项目的.csproj文件,在项目引用中指定类库使用的RuntimeIdentifier,确保MAUI发布时去win-x64目录查找dll:

<ItemGroup>
  <ProjectReference Include="..\MyMAUIApp\ClassLibrary.csproj">
    <AdditionalProperties>RuntimeIdentifier=win-x64</AdditionalProperties>
  </ProjectReference>
</ItemGroup>

或者在MAUI项目的<PropertyGroup>中添加搜索路径,让构建系统能找到类库的输出:

<PropertyGroup>
  <!-- 保留原有属性,新增以下配置 -->
  <ResolveAssemblySearchPaths>$(ResolveAssemblySearchPaths);../MyMAUIApp/bin/Release/net6.0/win-x64/</ResolveAssemblySearchPaths>
</PropertyGroup>

方案二:让类库同时生成win10-x64目录

修改类库的.csproj文件,将win10-x64加入RuntimeIdentifiers列表,这样类库发布时会同时生成win-x64和win10-x64两个目录的输出文件:

<PropertyGroup>
    <RuntimeIdentifiers>win-x64;win10-x64;linux-x64;</RuntimeIdentifiers>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

可选优化:生成可移植类库

如果不需要针对特定RuntimeIdentifier编译,可以移除类库的RuntimeIdentifiers属性,让类库生成可移植版本,输出直接放在net6.0根目录下,MAUI发布时无需指定RID即可找到:

<PropertyGroup>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <TargetFramework>net6.0</TargetFramework>
    <!-- 移除RuntimeIdentifiers配置 -->
</PropertyGroup>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:50:19