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

使用NUnit测试时遭遇WindowsBase程序集加载失败问题求助

问题分析与解决方案

问题根源

  • 你手动复制的WindowsBase.dll来自.NET6 WinDeskApp.Ref,这是仅用于编译的引用程序集,不包含实际执行代码,无法在运行时加载,这是导致BadImageFormatException的核心原因。
  • 当项目目标框架设为net6.0-windows时,.NET SDK会自动引入正确的运行时版本WindowsBase,不需要手动添加引用。

解决方案步骤

1. 移除CoreComponents中手动添加的WindowsBase引用

打开CoreComponents项目的.csproj文件,删除以下手动添加的引用节点:

<ItemGroup>
  <Reference Include="WindowsBase">
    <HintPath>lib\WindowsBase.dll</HintPath>
  </Reference>
</ItemGroup>

2. 清理并重建项目

  • 删除CoreComponents和NUnitPrj项目下的bin、obj文件夹
  • 在Visual Studio中执行清理解决方案,再执行重建解决方案

3. 确认测试项目配置

确保NUnitPrj的.csproj仅保留对CoreComponents的项目引用,无需手动添加WindowsBase引用,目标框架保持net6.0-windows即可。

验证

重新调试NUnit测试,此时.NET会自动加载正确的运行时版本WindowsBase.dll,不再出现文件找不到或格式错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 03:32:32