Bug 9465 - MTVS should detect when the user unplugs / swaps iOS devices on the build host
Summary: MTVS should detect when the user unplugs / swaps iOS devices on the build host
Alias: None
Product: Visual Studio Extensions
Classification: Xamarin
Component: iOS ()
Version: 1.0.x
Hardware: PC Mac OS
: Low enhancement
Target Milestone: 1.8.x (VS2013)
Assignee: Vinicius Jarina
Depends on:
Reported: 2013-01-10 15:11 UTC by Peter Collins
Modified: 2013-11-13 08:27 UTC (History)
7 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Peter Collins 2013-01-10 15:11:11 UTC
Deployment targets in visual studio do not update after unplugging a device from the build host. This means that the user can still start a build that is targeting a device that no longer exists, causing VS to hang and eventually throw a WebException due to timing out. The only way to get the device list to update is to manually press the refresh button, which is acceptable but not ideal for the user.

Is it possible to get an update from the build host when physical devices are unplugged / swapped / etc? It would make for a better user experience if the target device would at least clear when the user unplugs it from the build host.

Steps to reproduce:
!) Open an MTVS project and connect to a build host with a device plugged in.
2) Unplug the device that has already been set as the deployment target by MTVS
3) Notice that the deployment target is not updated.
4) Plug in a new device, and attempt to deploy.
5) MTVS should hang for some time.

Environment Details:
Windows 8x64
MTVS 1.0.636
VS 2010 and 2012
Comment 1 Marek Habersack 2013-01-10 18:55:24 UTC
The devices are refreshed every 1 minute IIRC, Dominique please correct me if I'm wrong.

We should perhaps refresh the list of devices on deploy/start debugging/start application time and error out should the device be unavailable.
Comment 2 PJ 2013-01-29 10:53:37 UTC
I like your suggestion in comment 1.
Comment 3 Dominique Louis 2013-06-03 17:38:06 UTC
Fixed as per comment 1.
Comment 4 narayanp 2013-07-16 07:30:10 UTC
Today I have checked this issue with following builds

VS 2012
iOS for VS 1.3.227

We have followed some steps here.

1) Open an MTVS project and connect to a build host with a device plugged in.
2) Observe that connected device name displayed on VS
3) Now unplug the device from build host.
4) Click Start button on VS to run the application

Application start to build and deploy but Deployment target does not update and no proper message appears. This is the screencast for the same: http://screencast.com/t/hxasATkbW32

Also If unplugged device and plugin another device and click on Start button, Deployment target not update.

Debug log: https://gist.github.com/atin360/edf58217f616f20d14e5
Mac Server Log: https://gist.github.com/atin360/21fa1c2db28a21f3a6b9

Hence reopening this issue
Comment 5 Vinicius Jarina 2013-10-28 17:35:54 UTC
Fixed on 1.8.183

Video: (Unpluging and pluging a device)


Comment 6 Mohit Kheterpal 2013-11-13 08:27:23 UTC
Today we have checked this issue with following builds :

VS 2013
MTVS 1.8.360

Now Deployment target is updates in VS every time when user plugh or unplugh same or different device to server.

Hence closing this issue.