【问题标题】:TeamCity can't find the <something>.fakes.dllTeamCity 找不到 <something>.fakes.dll
【发布时间】:2014-09-06 10:06:44
【问题描述】:

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

我终于设法设置了 TFS 集成 - 即从 TFS 结帐。 我使用了超级简单的 Auto Detect Build Steps [感谢 JetBrains] 来确定必要的 Build Steps。

我使用了获取缺失的 NuGet 包步骤,该步骤按预期工作。

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

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

提前致谢,

迈克尔

【问题讨论】:

标签: microsoft-fakes teamcity-8.0


【解决方案1】:

啊,所以我找到了我的一个问题的答案: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 进行构建。

有什么好主意吗?

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      相关资源
      最近更新 更多