【问题标题】:why unit test project dll's are not being copied to solutions output folder using tfs quebuild?为什么没有使用 tfs quebuild 将单元测试项目 dll 复制到解决方案输出文件夹?
【发布时间】:2016-11-20 18:45:11
【问题描述】:

我的解决方案中的单元测试项目 dll 在构建时没有被复制到解决方案输出文件夹。我尝试在其他项目引用中添加单元测试项目的虚假引用,以便 msbuild 将单元测试 dll 提取到输出文件夹。但它没有用。请提出任何替代方案。

【问题讨论】:

  • 通常我会说 TFS 构建以主项目为目标,并包含运行所需的所有内容。我猜你的应用程序不需要单元测试项目来运行?如果是这样,那么为什么要在输出中使用这些 .dll?如果您的主项目要引用单元测试项目,则应包含该项目的 .dll ..
  • @Hyperdingo:感谢您的回复。实际上,我们希望在 TFS-Builds 期间执行单元测试,因此为了实现这一点,我们希望将单元测试项目绑定到解决方案文件。
  • 您使用的是哪个版本的 TFS?您使用旧的 XAML 构建还是新的构建系统?
  • 版本不确定.. 但是我们正在使用 XAML 构建。
  • 您构建的是单个项目还是解决方案?您是否已将解决方案配置为构建所有项目,包括单元测试项目?

标签: visual-studio-2013 tfs msbuild build-process vs-unit-testing-framework


【解决方案1】:

根据我们的聊天,单元测试的 dll 不会复制到输出文件夹的根本原因是单元测试项目根本没有构建。请检查解决方案配置,看看是否在正确的配置下选择了项目。例如,如果您在 Build definition 中选择了 Debug 配置,则需要确保在 Debug 配置下选择了 Unit Test 项目。

【讨论】:

  • 我检查了解决方案配置,发现在发布配置下选择了单元测试项目,并且单元测试项目已设置为发布配置。
  • 您是否检查了构建日志中使用的配置?
  • 尝试使用 msbuild.exe 从命令提示符构建解决方案,在 cmets 下方显示“未选择项目“Repository.UnitTest”用于构建解决方案配置“Release|Any CPU”。
  • 您是否选择了Active solution configuration下的Release,Active solution platform下的Any CPU?
  • No..Selected Debug under active solution config 和 Any CPU under active solution platform。但是单元项目选择了版本和任何 CPU。在 process->configuration build 下的构建定义中选择 AnyCPU|发布。
猜你喜欢
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 2011-05-25
  • 2014-03-12
  • 1970-01-01
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多