gpt4 book ai didi

continuous-integration - 如何在TFS2010构建定义中为 "Test assembly file specification"对话框指定正确的搜索掩码?

转载 作者:行者123 更新时间:2023-12-04 04:18:56 25 4
gpt4 key购买 nike

我不知道如何在TFS2010构建定义中指定正确的掩码来搜索我的测试程序集。
我没有将默认Binaries文件夹用于输出程序集。每个测试项目都有自己的bin\Debug或bin\Release输出文件夹。
如果我使用默认掩码**\* test * .dll,我的测试将因以下错误而失败:

API restriction: The assembly 'file:///E:\Builds\....\obj\Debug\xxx.IntegrationTests.dll' 
has already loaded from a different location. It cannot be loaded from a new location within the same appdomain.

这是因为**\* test * .dll掩码将在bin\Debug和obj\Debug文件夹中找到同一程序集的多个结果。

我试图更改此掩码以排除obj\Debug文件夹并仅使用bin:
**\bin\Debug\*test*.dll
**\bin\**\*test*.dll
**\Debug\*test*.dll

但是FindMatchingFiles事件始终返回0个结果。

仅当我通过测试程序的完整路径时,它才起作用。

如果要从测试程序集搜索中排除obj\Debug文件夹,正确的掩码是什么?

替代方法:
我仍在使用FindMatchingFiles事件,但必须添加具有以下参数的Assign事件:
To - testAssemblies
From - testAssemblies.Where(Function(o) Not o.Contains("\obj\")).ToList()

我以这种方式过滤了在“obj”文件夹中找到的所有测试程序集。

最佳答案

您感兴趣的构建事件称为“查找测试程序集”:

因此,您在构建定义中放置的内容将在构建脚本变量outputDirectory之后并置。

对于事件“Initialize OutputDirectory”中的每个配置,都会初始化此outputDirectory:

您可以在新版本中排队,将“记录详细程度”设置为Diagnostic。一旦运行(并失败),请检查构建过程。

我的猜测是您的配置/平台设置有问题,但是没有具体的输入而已。

关于continuous-integration - 如何在TFS2010构建定义中为 "Test assembly file specification"对话框指定正确的搜索掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com