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

.NET6 Blazor WebAssembly项目引用外部程序集构建报错如何解决?

这个错误是Blazor WebAssembly构建阶段无法正确识别并打包你手动引用的外部dll文件导致的,你使用的.NET 6 RC预览版对非Nuget、非项目引用的本地程序集处理存在兼容性缺陷,可按以下方案尝试解决:

前置检查

首先确认ClassLibrary1.dll的编译目标为.NET Standard 2.1、.NET 5或.NET 6,Blazor WebAssembly不支持运行.NET Framework编译的程序集,确认兼容后再执行后续操作。

可行解决方案

  • 方案1:调整外部dll的引用配置
    打开你的项目.csproj文件,将现有ClassLibrary1的引用节点替换为以下内容:
    <ItemGroup>
      <Reference Include="ClassLibrary1">
        <HintPath>Lib\ClassLibrary1.dll</HintPath>
        <Private>true</Private>
        <CopyLocal>true</CopyLocal>
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      </Reference>
    </ItemGroup>
    
    保存配置后清理项目,重新生成即可。
  • 方案2:手动指定打包规则
    若方案1不生效,在项目文件的PropertyGroup节点下新增2条配置:
    <PropertyGroup>
      <!-- 原有配置不需要修改,新增以下内容 -->
      <AllowedReferenceRelatedFileExtensions>.dll</AllowedReferenceRelatedFileExtensions>
      <BlazorWebAssemblyEnableDebugging>true</BlazorWebAssemblyEnableDebugging>
    </PropertyGroup>
    
    同时在项目的wwwroot目录下新建_framework文件夹,将Lib目录下的ClassLibrary1.dll复制到该文件夹内,再重新生成项目。
  • 方案3(推荐):改用项目引用
    将ClassLibrary1的项目文件添加到你的解决方案中,删除原有dll引用,改为项目引用。Blazor WebAssembly对项目引用的适配更完善,不会出现路径识别错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:15:01