Moq.CastleProxyFactory'无法加载文件或程序集'Castle.Core

Mig*_*Slv 5 c# linq unit-testing moq

当我尝试像这样设置起订量对象时:

mock.Setup(reader => reader.listOFs(1)).Returns(new List<IIAM_OF_Event>() { new IIAM_OF_Event() { ID = 11 } }.AsQueryable());
Run Code Online (Sandbox Code Playgroud)

它抛出

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 表。

Mig*_*Slv 4

不知何故,测试中集成的一个组件要求使用 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>
...
Run Code Online (Sandbox Code Playgroud)