Microsoft Fakes:Team Build抛出IO文件未找到异常

时间:2015-11-23 02:37:07

标签: unit-testing team-build microsoft-fakes

我正在使用Microsoft Fakes进行单元测试。在我的本地开发机器上,我可以创建一个类库的假装配,一切正常。但是当签入时,构建服务器上的团队构建会抛出 “ System.IO.FileLoadException:无法加载文件或程序集'Business.DataAccess.Core,Version = 19.0.0.9999,Culture = neutral,PublicKeyToken = 925fe695533b6fca'或其依赖项之一。找到的程序集的清单定义不匹配程序集引用。(HRESULT异常:0x80131040 )“

在我的本地开发机器'Business.DataAccess.Core.dll'版本是19.0.0.9999,但在构建服务器上它将获得正确的版本号,例如19.0.0.1250。

Business.DataAccess.Core.fakes xml文件如下。我删除了版本标记。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
  <Assembly Name="Business.DataAccess.Core" />
</Fakes>

我通过提交FakeAssemblies文件夹而不是提交它来尝试这两种方法。在这两次它不工作。我的假设是假编译将在编译时创建。但它不起作用。

如何使用Microsoft Fakes进行团队构建以运行我的单元测试。

当我伪造EntityFramework.dll并提交假装配时,它可以工作。这证明我们的构建服务器配备了测试MS假货。构建服务器已安装VS 2013终极版。

非常赞赏!!!

1 个答案:

答案 0 :(得分:0)

问题在于'Business.DataAccess.Core.dll'在构建服务器上获得新版本。 因此,要解决此问题,请从项目中删除“GlobalAssemblyInfo.cs”文件,然后在“AssemblyInfo.cs”中添加一个版本。

我必须使用假装配检查FakeAssemblies文件夹,以便工作。