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
相关产品推荐
相关产品推荐

