Search code examples
xamarinxamarin.iosxamarin-studio

Unable to connect Visual studio to MAC Mini - Xamarin


I am trying to connect to a MAC Mini to a Windows PC running visual studio but it fails to connect.

I have tried everything mentioned in the Xamarin Docs HERE
We have successfully connected the same MAC Mini to another PC on the network, but can't seem to get it to connect with another PC (Note: We are not connecting both at the same time)

We have checked the SSH and it seems to be fine - we can connect using PUTTY and GIT Bash.

Also we are using the correct username of MAC - we retrieved using whoami command.

Below is the log file content.

Xamarin.VisualStudio.IOS.Messaging.State.ServerStateContext Information: 0 : [2016-10-28 15:58:04.7169] MacServer State transition from DisconnectedState to SshConnectingState on XT-14.local (192.168.0.214)
Xamarin.Messaging.Client.Ssh.SshMessagingConnection Error: 0 : [2016-10-28 15:58:15.0329] An unexpected error occurred on with the current SSH Session
Renci.SshNet.Common.SshException: Message type 80 is not valid.
   at Renci.SshNet.Session.LoadMessage(Byte[] data)
   at Renci.SshNet.Session.ReceiveMessage()
   at Renci.SshNet.Session.MessageListener()
Xamarin.Messaging.VisualStudio.MessagingService Information: 0 : [2016-10-28 15:58:18.9447] Starting Broker 4.1.1.3 in port 50843...
System.Net.Mqtt.TcpChannel Warning: 0 : [2016-10-28 15:58:26.0069] The TCP Network Stream has completed sending bytes. The observable sequence will be completed and the channel will be disposed
Xamarin.Messaging.VisualStudio.MessagingService Information: 0 : [2016-10-28 15:58:26.2103] MacServer State transition from SshConnectingState to DisconnectedState on XT-14.local (192.168.0.214)
Xamarin.VisualStudio.IOS.Messaging.State.ServerStateContext Error: 0 : [2016-10-28 15:58:26.3702] An error occurred on the underlying client while executing an operation. Details: The client vs4940Lenov has been disconnected while trying to perform the connection
System.Net.Mqtt.Client.ClientPacketListener Warning: 0 : [2016-10-28 15:58:26.5290] Client vs4940Lenov - Packet Channel observable sequence has been completed
Xamarin.VisualStudio.IOS.Messaging.State.DisconnectedState Information: 0 : [2016-10-28 15:58:26.6871] Disconnected from Mac XT-14.local (192.168.0.214)
Xamarin.VisualStudio.IOS.Messaging.State.ServerStateContext Error: 0 : [2016-10-28 15:58:26.8482] Couldn't connect to XT-14.local. Please try again.
System.Net.Mqtt.Client.Client Error: 0 : [2016-10-28 15:58:27.0164] System.Net.Mqtt.Client.ClientException: The client vs4940Lenov has been disconnected while trying to perform the connection
   at System.Net.Mqtt.Client.Client.<ConnectAsync>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.Messaging.Client.MessagingConnection.<ConnectAsync>d__18.MoveNext()
Xamarin.VisualStudio.IOS.Messaging.State.DisconnectedState Error: 0 : [2016-10-28 15:58:27.2886] There was an error while trying to connect the client vs4940Lenov to the server.
Xamarin.Messaging.Exceptions.MessagingException: There was an error while trying to connect the client vs4940Lenov to the server. ---> System.Net.Mqtt.Client.ClientException: The client vs4940Lenov has been disconnected while trying to perform the connection
   at System.Net.Mqtt.Client.Client.<ConnectAsync>d__29.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.Messaging.Client.MessagingConnection.<ConnectAsync>d__18.MoveNext()
   --- End of inner exception stack trace ---
   at Xamarin.Messaging.Client.MessagingConnection.<ConnectAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.Messaging.Client.Ssh.SshMessagingConnection.<ConnectAsync>d__37.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Xamarin.Messaging.VisualStudio.MessagingService.<ConnectAsync>d__73.MoveNext()
System.Net.Mqtt.TcpChannel Error: 0 : [2016-10-28 15:58:27.7771] An error occurred while closing underlying channel. Error code: 10054
System.Net.Sockets.SocketException (0x80004005): An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Shutdown(SocketShutdown how)
   at System.Net.Mqtt.TcpChannel.Dispose(Boolean disposing)

Update 1

Here is an image

Git image


Solution

  • When connecting Visual Studio to the Mac host it's important to ensure that the Xamarin tooling is in sync on both systems and that the version numbers match.

    In this case it looks like one of the computers was running an outdated version of the Xamarin tooling. Updating this to the latest Stable version fixed the problem.

    More information can be found in Xamarin's Connecting to the Mac guide, and if problems persist I'd recommend checking out the Troubleshooting guide as this outlines common issues / known problems / workarounds.