将 Moq 添加到测试项目会导致伪随机无法加载库问题

问题描述

我的一位同事向 master 分支添加一个测试项目,其中包含一个 Moq 引用。当时它甚至没有使用总线,只是有引用会导致构建和网站失败:

enter image description here

我在标题中称其为伪随机问题,因为我也遇到过同样的错误,但是:

System.Buffers

一旦设置,它就非常一致,所以不知道触发不同的库是什么。

如果我从解决方案中删除该网站,代码会正确构建,但该网站仍会在浏览器中显示该问题(正如您所料,我猜)。

如果我删除 Moq 和为依赖项(及其子项)添加的所有跟踪,构建将再次运行


我将其称为伪随机问题的另一个原因是我怀疑我所看到的是该问题的症状。不是问题本身。它恰好在 System.Runtime.CompilerServices.Unsafe 或其他任何时候触发。


Any ideas / tips on what I can do to:
  1. 找出实际问题
  2. 想出一个解决方案?

PS:如果这可能很重要,我们正在确定性构建,而不是认构建。

解决方法

随着时间的推移,很明显这是一个架构错误。需要彻底的重组来解决这个问题,很遗憾,对此无法提供简单的答案。