【发布时间】:2017-03-01 07:51:10
【问题描述】:
我有一个包含大量 C# 项目和大量测试的解决方案。其中一些测试需要很少的本机 dll(由相关的 nuget 包提供)。为了解决这个 .testsettings 文件,它在运行测试之前将 dll(nuget 处理到 $(OutDir))复制到测试目录。
所有这些在本地机器上都可以正常工作,但是当在 .testsettings 文件(或可能整个文件)的 TFS 构建“部署”部分执行时,会被忽略——这些 dll 永远不会在测试目录中实现(在测试目录中也没有任何条目)关于他们的日志)。 .testsettings 文件在 TFS 构建配置的相关部分提到。
有什么想法可能是错的吗? (MSVC 2015,TFS 2013)
【问题讨论】:
-
我尝试了你上面所做的,我发现 .testsetting 文件复制 dll 被复制到文件夹“C:\agent_work\46\TestResults*******\Out”。这个路径是你上面提到的“测试目录”还是你希望那些 dll 被复制到另一个路径?
-
我正在使用 Visual Studio 测试步骤。是的,没有关于复制这些dll的日志记录。
-
是的,我(通过 .testsettings 文件的部署部分)将几个 dll 从 $(OutDir) 复制到“...\TestResults\...\Out”。当我在本地(从 Visual Studio)执行此操作时,它工作正常。由 TFS 执行构建时不起作用(所有不依赖这些 dll 的测试都可以正常工作)。
-
测试运行时,您是否一直监控构建代理服务器上的“TestResult\..\Out\”文件夹?这些 dll 是复制到文件夹然后删除还是永远不会复制到?
-
作为一种解决方法,您可以使用“复制文件”步骤将这些 dll 复制到您想要的文件夹,而不是使用 .testsetting 文件来执行此操作。
标签: tfs tfsbuild visual-studio-test-runner