Mock.Create<>() 需要强名称

Mock.Create<>() requiring strong name

我有以下依赖关系树

每个程序集都引用它上面的所有程序集。所以 Processor.Tests 引用了 Processor、DataAccess 和 MyFramework。除了对 Processor 的 ProcessorTests 引用之外,所有引用都是通过私有 Nuget 服务器进行的。

我需要模拟的 DataAccess assemble 中有一个接口 (IMessageLogger)。该接口中的方法之一具有 MyFramework 中定义的类型的参数。

当我尝试 Mock.Create<IMessageLogger>() 时,出现以下异常

System.IO.FileLoadException:无法加载文件或程序集 'MyFramework, Version=2017.12.12.1, Culture=neutral, PublicKeyToken=null' 或其依赖项之一。需要强名称程序集。 (HRESULT 异常:0x80131044)

我的程序集

None 是强命名的,但是 Telerik.JustMock 是强命名的,但到目前为止模拟任何其他接口都没有给我带来任何麻烦。

有人知道我如何解决这个问题吗?

事实证明问题是我的处理器和 Processor.Test 项目引用了 MyFramework 程序集的版本 2018.3.15,但 DataAccess 项目引用了旧版本 (2017.12.12.1)。

更新了所有项目以使用最新版本,一切都再次 运行。