【问题标题】:Adding App.Config to VS 2015 CodedUI Project breaks Test Execution on Test Agent 2013将 App.Config 添加到 VS 2015 CodedUI 项目会中断测试代理 2013 上的测试执行
【发布时间】:2017-03-14 03:15:02
【问题描述】:

我有以下设置

客户端 - Visual Studio 2015 或 MSTest.exe (14.0)

测试控制器 - VS 2013 TC

测试代理 - VS 2013 TA(远程)

只要测试项目没有“App.Config”,当我尝试在本地和远程执行测试时,一切正常。 (不管 App.Config 的内容如何)

当我尝试“远程”执行测试时出现问题(通过使用带有测试控制器和测试代理的测试设置文件)。

只要测试项目包含“App.Config”文件,远程测试执行就会失败并出现“dll not found exceptions”(App.Config 可以本地执行)

例如

单元测试适配器抛出异常: 无法加载文件或程序集“Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件..

App.Config(在示例 CodedUIProject 上)

<?xml version="1.0" encoding="utf-8" ?> <configuration> </configuration>

这些问题有望得到解决(通过带有 updates 5 的代理和控制器的 exe 配置中的程序集绑定条目)但是我不走运。

我已尝试将这些 DLL 添加到部署中(通过 TestSettings 文件),这将为另一个 14.0 版本的 DLL 引发异常。

任何见解都会有助于解释为什么 codedUIProject.dll.config 会干扰程序集绑定?或者如果我错过了一些琐碎的事情?

【问题讨论】:

    标签: c# .net visual-studio-2015 coded-ui-tests


    【解决方案1】:

    如果有人关心,我让它工作

    1. 在 App.Config 中为 here
    2. 提到的 CodedUI DLL 添加了从 14.0 到 12.0 的程序集重新绑定
    3. 将 VS 12.0 的 PublicAssemblies (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies) 复制到步骤 1 中提到的探测位置

    这似乎是 Microsoft VS 2015 与 2013 控制器和 2013 代理兼容的错误。

    【讨论】:

      【解决方案2】:

      为自己解决问题做得很好 - Visual Studio/测试代理/测试控制器中的 2013 年和 2015 年差距非常糟糕。它不一定是一个“错误”,而是微软的一个可怕的设计决定。

      我曾多次尝试告知人们 CodedUI 的另一个解决方案是创建您自己的 NuGet 包(或等效解决方案)以从您的解决方案中引用。这使它们尽可能便携。

      【讨论】:

      • 尚未尝试 NuGet 方法,但似乎更清洁。谢谢
      猜你喜欢
      • 1970-01-01
      • 2021-07-28
      • 2016-04-10
      • 1970-01-01
      • 2015-10-16
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 2011-12-21
      相关资源
      最近更新 更多