TeamCity无法找到<something> .fakes.dll </something>

时间:2014-09-06 10:06:45

标签: microsoft-fakes teamcity-8.0

我正在使用TeamCity 8(v8.1.4)设置CI。

我终于设法设置TFS集成 - 即从TFS结账。 我使用超级简单的自动检测构建步骤[感谢JetBrains]来确定必要的构建步骤。

我使用了Get missing NuGet packages步骤,它按预期工作。

然后我有一个Visual Studio解决方案构建步骤,似乎构建很好,直到它想要构建单元测试和集成测试项目,它们都使用Microsoft Fakes。 在这里,我可以看到TeamCity尝试到处搜索[AssemblyNameUnderTest] .Fakes.dll - 其中[AssemblyNameUnderTest]是测试的任何dll。

我还没有把这个dll包含在我的项目中,也没有包含在TFS中,因为我认为每次将内容更改为原始的AssemblyNameUnderTest(ClassLibrary)项目时都会重新生成它。 我是否应该将[AssemblyNameUnderTest] .Fakes.dlls包含到项目和TFS中,或者我是否正确重新生成它们? 如果我对再生感到满意,那么为什么TeamCity找不到它?

提前致谢,

迈克尔

2 个答案:

答案 0 :(得分:0)

啊,所以我找到了我的一个问题的答案:http://hamidshahid.blogspot.be/2012/11/microsoft-fakes-framework.html

  

“Fakes”文件夹中的文件仅在生成时生成   添加假货组件。它们被添加到解决方案中并且应该   检查源控制。

     

生成“FakesAssemblies”文件夹及其中的所有文件   无论什么时候编译项目。这很重要,因为如果你是   添加假货以便为变化的组件组装,生成   FakesAssemblies将确保所有更改都反映在   生成装配。

所以我这样做了 - 即它是默认行为。 在我的.fakes文件之上有“Fakes”构建操作,但它仍然不适用于TeamCity。

此外,TeamCity使用“C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin”中的MSBuild.EXE进行构建。

任何人都有一个好主意?

答案 1 :(得分:0)

为了修复构建,我删除了Fakes的东西并实现了Moq模拟。 似乎可以让您更好地控制到底发生了什么。