【问题标题】:MSBuild and MSTest in non-TFS Build tool with MSBuild Outdir使用 MSBuild Outdir 的非 TFS 构建工具中的 MSBuild 和 MSTest
【发布时间】:2013-04-26 11:45:34
【问题描述】:

我负责在非 TFS 构建工具中提出工作流,该工具将构建解决方案,在解决方案中运行单元测试项目,然后打包构建的最终输出以进行部署。我最初构建了一个工作流,它使用 MSBuild 和 Outdir 参数来获取可发布的应用程序以供以后存储。当我将单元测试项目添加到解决方案时,它们在 Visual Studio (2010) 中运行良好,但是当我通过 MSBuild 运行我的解决方案时,MSTest 步骤找不到测试,因为 VSMDI 文件指向测试项目中的 BIN 文件夹,但是Outdir 参数应用于解决方案级别,因此测试 DLL 在 Outdir 目录而不是 BIN 文件夹中构建。如果我从 MSBuild 中删除 Outdir,测试会运行,但我没有获得可发布的应用程序。对于我们不想发布 Visual Studio Publish 将排除的代码文件和其他工件的 Web 应用程序来说,这是一个问题。

当 MSBuild 与 Outdir 一起运行时,任何想法如何让 MSTest 根据 VSMDI 文件正确运行测试?我曾考虑编写一个 XML 转换脚本以将 VSMDI 中的路径更改为 Publish 文件夹,但这似乎是一种 hack。

非常感谢任何建议。

【问题讨论】:

    标签: msbuild mstest


    【解决方案1】:

    您可以完全放弃 vsmdi 文件并将列表中的 dll 传递给命令行工具吗?
    否则 id plum 用于转换。转换并没有您想象的那么糟糕,因为至少您知道开发人员正在运行与您的构建相同的测试,并且当您尝试构建、测试和打包发布版本时会遇到此问题。

    【讨论】:

    • 我最初指定了一个 DLL 列表,但我正在尝试在 AntHillPro 中构建一个“黑匣子”作业,它将构建和测试任何解决方案,因此我无法对测试进行硬编码DLL。我想我将不得不看一个变换。这不是什么大问题(将“debug\bin\”更改为我的发布文件夹),但我希望我错过了一些东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2011-04-19
    • 2011-01-28
    • 2019-08-02
    相关资源
    最近更新 更多