将App.Config添加到VS 2015 CodedUI项目会破坏Test Agent 2013上的测试执行

时间:2017-03-08 23:06:47

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

我有以下设置

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

测试控制器 - VS 2013 TC

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

当我尝试在本地执行测试时,工作正常只要测试项目没有“App.Config”,就可以远程执行。 (无论App.Config的内容如何)

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

每当测试项目包含“App.Config”文件时,远程测试执行失败并显示“dll not found exception”(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>

预计这些问题将得到解决(通过代理和控制器的exe配置中的程序集绑定条目与updates 5)但是我运气不好。

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

任何见解都有助于解释为什么codedUIProject.dll.config会干扰程序集绑定?或者如果我遗失了一些微不足道的东西?

2 个答案:

答案 0 :(得分: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中提到的探测位置
  4. 这似乎是Microsoft VS 2015与2013年控制器和2013代理商兼容的错误。

答案 1 :(得分:0)

为自己解决问题的好工作 - 2013年和2015年Visual Studio /测试代理/测试控制器的差距是不可原谅的。它不一定是&#34; bug&#34;就微软而言,这是一个可怕的设计决定。

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