Learn to use Visual Studio, Visual Studio Online, Application Insights and Team
Foundation Server to decrease rework, increase transparency into your application and increase the rate at which
you can ship high quality software throughout the application lifecycle
When you have two or more versions of Visual Studio installed on a single machine and you try to use the newer version of mtm to connect to an older version of Test Controller, the Test Controller shows offline.
The event log shows the following error message:
Log Name: ApplicationSource: VSTTExecutionDate: 5/20/2014 2:58:45 AMEvent ID: 0Task Category: NoneLevel: ErrorKeywords: ClassicUser: N/AComputer: machineNameDescription:The description for Event ID 0 from source VSTTExecution cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.If the event originated on another computer, the display information had to be saved with the event.The following information was included with the event:(mtm.exe, PID 4420, Thread 8) ControllerConnectionManager : InternalConnect : System.InvalidCastException: Unable to cast transparent proxy to type 'Microsoft.VisualStudio.TestTools.Controller.ControllerObject'. at Microsoft.VisualStudio.TestTools.Controller.ControllerConnectionManager.InternalConnect(ControllerConnectionInfo controllerConnectionInfo)the message resource is present but the message is not found in the string/message table
Let’s say you have Visual Studio 2012 and Visual Studio 2013 installed on one machine and you are trying to connect to Test Controller 2012. In that case, you can use the following workarounds:
1) Use assembly redirection in mtm.exe.config. Add the following under <assemblyBinding> node in mtm.exe.config v12.0 (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\mtm.exe.config):
<dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="220.127.116.11" newVersion="18.104.22.168"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.ControllerObject" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="22.214.171.124" newVersion="126.96.36.199"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.ExecutionCommon" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> <bindingRedirect oldVersion="188.8.131.52" newVersion="184.108.40.206"/> </dependentAssembly>
2) Use mtm 2012 to see online controllers
Basically, you need to use assembly redirection for the above three assemblies and let them point to the version of mtm client that you are using.
Don't understand what your referring to
Which part do you feel is ambiguous? You will see the behavior when you create a lab environment in MTM for running tests. You will see that the controller shows offline (under controllers) even if it is online if all the below conditions are true:
1) There are multiple versions of MTM installed on the machine.
2) You are using the newer version of MTM for viewing your environment.
3) The controller that you are using is of an older version.