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

时间:2018-03-30 17:19:56

标签: c# strongname justmock

我有以下依赖树

  • MyFramework
  • 数据访问
  • 处理器
  • Processor.Tests

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

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

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

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

我的所有程序集都没有强名称,但Telerik.JustMock名称很强,但到目前为止它还没有给我任何其他接口的麻烦。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

更新了所有要使用最新版本的项目,一切都在重新运行。