C# 需要解决Microsoft.QualityTools.Testing.Fakes问题吗

C# 需要解决Microsoft.QualityTools.Testing.Fakes问题吗,c#,visual-studio,unit-testing,microsoft-fakes,C#,Visual Studio,Unit Testing,Microsoft Fakes,我们一直在使用最新的系统VS 12 update 4,我们已经尝试将特定版本设置为false,但测试仍然失败 Product.Business.Test.Providers.AuthenticationProvider.given当参数为evalid时,请求存储AuthenticationState\u。然后它应存储AuthenticationState 引发异常:System.IO.FileLoadException:无法加载文件或 程序集“Microsoft.QualityTools.Tes

我们一直在使用最新的系统VS 12 update 4,我们已经尝试将特定版本设置为false,但测试仍然失败

Product.Business.Test.Providers.AuthenticationProvider.given当参数为evalid时,请求存储AuthenticationState\u。然后它应存储AuthenticationState 引发异常:System.IO.FileLoadException:无法加载文件或 程序集“Microsoft.QualityTools.Testing.Fakes,版本=11.0.0.0, 区域性=中性,PublicKeyToken=b03f5f7f11d50a3a'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100)


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

不久前我也遇到过类似的问题。重新引用测试组件并重新创建假货组件为我解决了问题。

这为我解决了问题:

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

在TFS构建中与这个问题进行了几天的斗争之后,我发现当单元测试由TFS运行时,这确实是一个运行时错误。密钥是“或其依赖项之一”

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>


感谢这条缝线修复了它,我很高兴我花了大约3个小时的时间来战斗,尽管其他很多方法都不管用,但你帮我节省了n个小时!谢谢。这解决了我的问题。给我带来麻烦的项目在app.config中有这个条目,只有新版本本应该是12.0.0.0被设置为11.0.0.0,导致我一半的测试失败。