Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 包含Visual Studio测试运行程序的程序集的目录无效_Visual Studio 2012_Tfs_Tfsbuild - Fatal编程技术网

Visual studio 2012 包含Visual Studio测试运行程序的程序集的目录无效

Visual studio 2012 包含Visual Studio测试运行程序的程序集的目录无效,visual-studio-2012,tfs,tfsbuild,Visual Studio 2012,Tfs,Tfsbuild,我们已将TFS安装从2012年升级到2013年。运行我们的构建时,如果启用单元测试,它们将失败,并出现以下错误: TF900547: The directory containing the assemblies for the Visual Studio Test Runner is not valid '' 升级后未更改生成过程模板或生成定义。升级过程没有改变它们我可以在哪里提供Visual Studio测试运行程序的路径以及它在磁盘上的位置? 我不知道“Visual

我们已将TFS安装从2012年升级到2013年。运行我们的构建时,如果启用单元测试,它们将失败,并出现以下错误:

TF900547: The directory containing the assemblies for the Visual Studio Test Runner 
          is not valid ''
升级后未更改生成过程模板或生成定义。升级过程没有改变它们我可以在哪里提供Visual Studio测试运行程序的路径以及它在磁盘上的位置?

我不知道“Visual Studio Test Runner”是否是2013年的新选项,或者在我们使用TFS 2012之前是否也使用过此设置

我们在构建服务器上使用Visual Studio Professional 2012

您有两个选择:

  • 如果要继续使用Visual Studio测试运行程序,请安装Visual Studio 2013或
  • 切换到MS Test作为测试运行程序,并在生成工作流中更改工具版本。这将允许您在生成服务器上继续使用Visual Studio 2012

  • 注意:您可以将链接发布到“仅代理”网站,以进行回答中的第二选择:

  • 右键单击生成定义并选择“编辑生成定义…”
  • 单击构建定义中的“流程”组
  • 在“构建过程参数”下找到“自动测试”组,并单击省略号
  • 将出现“自动测试”对话框,在“要运行的测试”下选择要编辑的测试
  • 单击“编辑”,将出现“添加/编辑测试运行”对话框
  • 将测试运行程序更改为“MSTest.exe测试运行程序”

  • 注意:我使用TFS2012作为在生成计算机上安装Visual Studio的替代方法,您只需将文件从本地计算机复制到生成计算机即可

    压缩在中找到的
    TestWindow
    文件夹

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft
    

    然后将其复制到构建计算机,并解压缩到同一位置。

    我们遇到了与OP相同的问题,但是,由于TFS服务器被视为生产箱(其他部门将其用于其他用途),因此不允许我们在服务器上安装VS2013。这同样适用于构建所需的任何第三方工具,集成到构建中是一件痛苦的事情

    我最终通过使用另一个dev box作为TFS的构建服务器来解决这个问题。通过在dev box上安装TFS的构建服务器组件并在该box上设置控制器和构建代理,TFS可以将实际构建的责任传递给dev box,我们可以在dev box上安装任何东西,而不会影响TFS服务器本身


    虽然它并不完美——需要一个额外的盒子和VS2013许可证——但它是迄今为止避免对生产TFS盒子产生争议的最简单方法。或者,指定一个开发人员自己的盒子,并在那里安装构建代理-环境已准备就绪,在构建过程中只会稍微减慢速度。

    我们的解决方案是安装,而不是Visual Studio 2013

    如果您的项目没有单元测试,您只需在构建定义上禁用单元测试执行


    要做到这一点,请编辑“生成定义”,在“过程”选项卡下,删除“自动测试”字段中的所有内容。

    安装Visual Studio 2013会使其按预期工作。但我想知道如何使它与VisualStudio2012一起工作。我没有找到工具版本的任何变量。您是否有一些文档的链接,这些文档描述了生成工作流的工具版本?我在msbuild操作中看到了这一点。如果您确实需要VS 2012(这是可能的:-),您可以更改工作流并使用mstest操作而不是AgileTestRunner。在那里,您可以在dev计算机上设置ToolsPussing VS2013,在服务器上设置TFS2013。对于测试运行程序,我没有其他选项-下拉框变灰,并且“Visual Studio测试运行程序”已修复。