【发布时间】:2023-03-31 11:46:01
【问题描述】:
我在构建 VS2010 解决方案时遇到了一个奇怪的问题,包括。 Team Build 2008 服务器上的单元测试。它构建了解决方案,也可以在没有错误的情况下运行测试,但在运行测试后,我收到以下警告,导致构建中断:
MSBUILD:警告 MSB6003: 指定的任务可执行文件“MSTest.exe” 无法运行。系统无法 找到指定的文件 [C:\data\builds\FSuite\CI_Project[调试]\BuildType\TFSBuild.proj] 先前的错误已转换为 警告,因为任务被调用 使用 ContinueOnError=true。建造 继续,因为“ContinueOnError” 在任务“TestToolsTask”上设置为 “真”。
似乎不是没有找到 MSTest 的问题,我还检查了 TFSBuild.proj 文件是否在这个位置 - 它没有丢失。那会是什么呢?
编辑: 同时我发现,我们的旧构建服务器加载并启动了一次测试程序集。
任务“TestToolsTask”命令:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe /nologo /runconfig:"C:\data\builds\FSuite\V1.0_CI_FSuite[调试]\Sources\Sources\Products\FSuite.Debug.testrunconfig" /searchpathroot:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug" /resultsfileroot:"C:\data\builds\FSuite\V1.0_CI_FSuite[调试]\TestResults" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.AppConfiguration.Console.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Common.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Common.UI.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Dbms.Handler.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Base.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.BusinessObjects.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Client.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Client.UI.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Enums.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Messages.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Reporting.ReportPackage.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Reporting.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.MasterStation.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.MonitoringStation.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Pac.ProductInspection.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Pac.XmlRpcProtocol.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.DomainLayer.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.Licensing.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.NotificationLayer.Tests.Unit.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Tests.Unit.Ext.dll" /testcontainer:"C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Tests.Unit.Joint.dll" /发布:“http://ch06sd01:8080/” /publishbuild:"V1.0_CI_FSuite[调试]_20100728.4" /团队项目:“FSuite” /平台:“x86” /flavor:"调试" “TestToolsTask”任务正在使用 “C:\Program”中的“MSTest.exe” 文件\Microsoft Visual Studio 9.0\Common7\IDE\MSTest.exe"。正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Sources\Sources\Products\FSuite.Debug.testrunconfig... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.AppConfiguration.Console.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Common.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Common.UI.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.Dbms.Handler.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Base.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.BusinessObjects.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Client.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Client.UI.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Enums.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Messages.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Reporting.ReportPackage.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Joint.Reporting.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.MasterStation.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.MonitoringStation.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Pac.ProductInspection.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Pac.XmlRpcProtocol.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.DomainLayer.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.Licensing.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Server.NotificationLayer.Tests.Unit.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Tests.Unit.Ext.dll... 正在加载 C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Tests.Unit.Joint.dll... 开始执行...结果...
2387/2387 测试通过 摘要 -------- 试运行警告。 通过 2387 ------------ 总共 2387 个结果文件:C:\data\builds\FSuite\V1.0_CI_FSuite[Debug]\TestResults\ch06-tfsservice_CH06WL2013302 2010-07-28 11_08_03_x86_Debug.trx
运行配置:FSuite 调试 测试配置 运行有以下问题:代码覆盖率检测警告 在处理文件时 MT.FSuite.Joint.Enums.dll: TESTTOOLSTASK:警告 VSP2007: C:\data\builds\FSuite\V1.0_CI_FSuite[调试]\Binaries\x86\Debug\MT.FSuite.Joint.Enums.dll 不包含可检测的代码。 TESTTOOLSTASK:警告:测试运行 部署问题:程序集或 模块 'DevExpress.RichEdit.v10.1.Core' 直接或间接引用 测试容器 'c:\data\builds\fsuite\v1.0_ci_fsuite[debug]\binaries\x86\debug\mt.fsuite.tests.unit.ext.dll' 没找到。等待发布... 发布试运行结果 ch06-tfsservice@CH06WL2013302 2010-07-28 11:08:03_x86_Debug 到 http://ch06sd01:8080/Build/v1.0/PublishTestResultsBuildService2.asmx... ................................发布 顺利完成。执行完毕 任务“TestToolsTask”。
但是带有 VS2010 的新构建服务器会加载除 MT.FSuite.Tests.Unit.Joint.dll 之外的所有测试程序集并执行测试,这些测试成功运行,然后使用上述程序集再次调用 MSTest 并失败。
p>命令:MSTest.exe /nologo /runconfig:"C:\data\builds\FSuite\CI_FSuite[调试]\Sources\Sources\Products\FSuite.Debug.testrunconfig" /searchpathroot:"C:\data\builds\FSuite\CI_FSuite[调试]\Binaries\x86\Debug" /resultsfileroot:"C:\data\builds\FSuite\CI_FSuite[调试]\TestResults" /testcontainer:"C:\data\builds\FSuite\CI_FSuite[Debug]\Binaries\x86\Debug\MT.FSuite.Tests.Unit.Joint.dll" /发布:“http://ch06sd01:8080/” /publishbuild:"CI_FSuite[调试]_20100728.2" /团队项目:“FSuite” /平台:“x86” /flavor:"调试" “TestToolsTask”任务正在使用 “MSTest.exe”来自“MSTest.exe”。
我想知道为什么,因为测试容器字符串没有改变,而且第二次它不再说明它从哪里获取 MSTest.exe...
感谢您的帮助, 恩尼
【问题讨论】:
标签: visual-studio-2010 msbuild mstest tfsbuild