当我尝试像这样设置moq对象时:
mock.Setup(reader => reader.listOFs(1)).Returns(new List<IIAM_OF_Event>() { new IIAM_OF_Event() { ID = 11 } }.AsQueryable());
它抛出
System.TypeInitializationException:'Moq.ProxyFactory'的类型初始值设定项引发了异常。 ---
System.TypeInitializationException:'Moq.CastleProxyFactory'的类型初始值设定项引发了异常。 ---> System.IO.FileLoadException:无法加载文件或程序集“ Castle.Core,Version = 4.1.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)---> System.IO.FileLoadException:无法加载文件或程序集“ Castle.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 407dd0808d44fbdc”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
IIAM_OF_Event
是一个Linq表。
答案 0 :(得分:1)
不知何故,测试中集成的一个组件要求的是Castle.Core 4.1.0.0版本,但版本4.0.0.0已包含在构建中。
我将其添加到配置文件中
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
...