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

nunit3-console无法加载Microsoft.AspNetCore.App中的DLL问题

解决NUnit控制台运行测试时加载Microsoft.AspNetCore.App程序集失败的问题

以下是几种可行的解决方案:

  • 添加FrameworkReference到测试项目
    在测试项目的.csproj文件中,显式添加对Microsoft.AspNetCore.App共享框架的引用,让构建系统自动处理依赖路径:

    <ItemGroup>
      <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
    

    重新构建项目后,NUnit控制台运行时就能正确识别并加载该框架下的程序集。

  • 改用dotnet test命令运行测试
    放弃直接使用nunit3-console,改用官方的dotnet test命令,它会自动处理.NET共享框架的依赖解析,无需手动配置路径:

    dotnet test My.Tests.dll
    

    该命令会自动关联Microsoft.AspNetCore.App等共享框架的程序集,避免加载失败问题。

  • 配置NUnit控制台的运行环境
    如果必须使用nunit3-console,可以通过设置环境变量指定.NET根目录,并指定目标框架版本:

    # Windows环境
    set DOTNET_ROOT=C:\Program Files\dotnet
    nunit3-console My.Tests.dll --framework net8.0
    

    同时确保使用的NUnit控制台版本与目标.NET版本兼容(比如NUnit 3.13+支持.NET 8)。

  • 避免硬编码程序集加载逻辑
    测试代码中尽量不要直接调用Assembly.Load强名称加载程序集,依赖正常的项目引用让运行时自动解析依赖。如果确实需要动态加载,优先利用框架的依赖注入或程序集加载上下文机制,而非硬编码文件路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:52:47