需要解决 Microsoft.QualityTools.Testing.Fakes

Need a work around Microsoft.QualityTools.Testing.Fakes

我们一直在使用最新的系统 VS 12 update 4 我们已尝试将特定版本设置为 false,但仍然导致测试失败并显示此消息

Product.Business.Test.Providers.AuthenticationProvider.GivenRequestToStoreAuthenticationState_WhenParametersAreValid.ThenItShouldStoreTheAuthenticationState threw exception: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.QualityTools.Testing.Fakes, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

谁能把我们从这场假灾难中拯救出来

前段时间我遇到了类似的问题。重新引用测试程序集并重新创建 Fakes 程序集为我解决了这个问题。

这为我解决了:

  • 正在删除 binobjFakesAssemblies 文件夹
  • 确保 Microsoft.QualityTools.Testing.Fakes 程序集的特定版本设置为 'false'
  • 重建测试项目

在 TFS Build 中解决这个问题几天后,我发现当单元测试由 TFS 运行 时,它确实是一个 运行time 错误。关键是"or one of its dependencies."

Microsoft.QualityTools.Testing.Fakes.dll

依赖于

Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

于是我将框架DLL复制到Fakes目录下并签入,问题解决

在 App.config 中添加以下条目对我有用。

<runtime> 
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <dependentAssembly> 
     <assemblyIdentity name="Microsoft.QualityTools.Testing.Fakes" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
    </dependentAssembly> 
   </assemblyBinding> 
</runtime>