我有以下依赖树
每个程序集都引用它上面的所有程序集。因此,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名称很强,但到目前为止它还没有给我任何其他接口的麻烦。
任何人都知道如何解决这个问题?
答案 0 :(得分:0)
事实证明问题是我有处理器和Processor.Test项目引用了MyFramework程序集的2018.3.15版本,但DataAccess项目引用了旧版本(2017.12.12.1)。
更新了所有要使用最新版本的项目,一切都在重新运行。