Launching Xamarin iOS app fails with log message "An error occurred searching types for the given assembly"
<h2>Summary</h2>

<p>I'm trying to develop an iOS app in Visual Studio based on Xamarin Forms, but what I'm finding is that the app fails to launch on my phone when I try to run it. I have a valid iOS development certificate and I've been able to launch the app in the past, although I'm not sure what could have changed between then and now (I've been working on it very on and off).</p>

<p>The error I'm getting within Visual Studio's debug console is <code>Launch failed. The app '&lt;&lt;app name&gt;&gt;' could not be launched on '&lt;&lt;my iPhone&gt;&gt;'. Please check the logs for more details.</code></p>

<p>I've included the Xamarin logs further down.</p>

<h2>Environment</h2>

<p>I'm developing my project in Visual Studio on a Windows 10 PC. I'm using a MacBook Pro on the same network as the Xamarin Mac agent, and that's connected by USB to an iPhone 6s Plus which serves as the build target.</p>

<ul>
<li>Windows 10 64-bit</li>
<li>Visual Studio 2015 Update 3</li>
<li>Xamarin 4.1.1.3</li>
<li>Xamarin.Android 6.1.1.1</li>
<li>Xamarin.iOS 9.8.1.4</li>
<li>Macbook Pro with OS X El Capitan 10.11.6 acting as Xamarin Mac agent</li>
<li>XCode 7.3.1 (on Mac agent)</li>
<li>Xamarin Studio 6.0.2 on Mac agent (no updates required on stable channel)</li>
<li>iPhone 6s Plus (device target)</li>
</ul>

<p><strong>Installed Nuget packages</strong></p>

<pre><code>&lt;packages&gt;
  &lt;package id="Microsoft.Bcl" version="1.1.10" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="Microsoft.Net.Http" version="2.2.29" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="modernhttpclient" version="2.4.2" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="rda.SocketsForPCL" version="1.2.2" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="WebSocket.Portable.Core" version="1.2.6" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="WebSocketSharp" version="1.0.3-rc10" targetFramework="portable45-net45+win8+wpa81" /&gt;
  &lt;package id="Xamarin.Forms" version="2.3.1.114" targetFramework="portable45-net45+win8+wpa81" /&gt;
&lt;/packages&gt;
</code></pre>

<h2>Further Details</h2>

<p>When I try to execute my app, I get the following error logs. The root cause seems to be that it cannot find the C# type <code>System.ComponentModel.Win32Exception</code>:</p>

<pre><code>Xamarin.VisualStudio.Forms.Intellisense.ProjectTypeResolver Error: 0 : [2016-08-07 22:07:07.7530] An error occurred searching types for the given assembly
System.TypeLoadException: Cannot find type System.ComponentModel.Win32Exception in module System.dll.
   at Microsoft.MetadataReader.MetadataOnlyAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
   at Microsoft.MetadataReader.MetadataOnlyAssembly.GetType(String name, Boolean throwOnError)
   at Microsoft.MetadataReader.MetadataOnlyModule.ResolveTypeRef(ITypeReference typeReference)
   at Microsoft.MetadataReader.MetadataOnlyTypeReference.GetResolvedTypeWorker()
   at Microsoft.MetadataReader.TypeProxy.GetResolvedType()
   at Microsoft.MetadataReader.TypeProxy.get_Module()
   at Microsoft.MetadataReader.MetadataOnlyTypeDef.Equals(Type other)
   at Microsoft.VisualStudio.Shell.Design.TypeWrapper.Equals(Type o)
   at Microsoft.MetadataReader.MetadataOnlyTypeDef.IsValueTypeHelper()
   at Microsoft.MetadataReader.MetadataOnlyTypeDef.IsValueTypeImpl()
   at Microsoft.VisualStudio.Shell.Design.TypeWrapper.IsValueTypeImpl()
   at System.Type.get_IsClass()
   at Xamarin.VisualStudio.Forms.Intellisense.ProjectTypeResolver.&lt;SearchTypesAsync&gt;b__19_0() in C:\Users\builder\data\lanes\3420\34a92cd0\source\xamarinvs\src\Features\VisualStudio.Forms.Intellisense\ProjectTypeResolver.cs:line 184
Xamarin.Messaging.Client.MessagingClient Error: 0 : [2016-08-07 22:07:11.4859] An error occured on the receiver while executing a post for topic xvs/idb/4.1.1.3/launch-app and client vs11512david
Xamarin.Messaging.Exceptions.MessagingRemoteException: An error occured on client IDB4113 while executing a reply for topic xvs/idb/4.1.1.3/launch-app ---&gt; Xamarin.Messaging.Exceptions.MonotouchException: warning HE0041: Error while processing device notifications: NotificationCallback with unknown message: 5

  at Xamarin.Messaging.IDB.MTouch+&lt;RunAsync&gt;d__6.MoveNext () &lt;0x7566158 + 0x007e3&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.MTouch+&lt;DeployAsync&gt;d__4.MoveNext () &lt;0x75c41b8 + 0x0032f&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;RunMTouchAsync&gt;d__17.MoveNext () &lt;0x75c3a18 + 0x0021b&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteOnPhysicalDeviceWithoutAssetsAsync&gt;d__16.MoveNext () &lt;0x75c2478 + 0x001db&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7750 + 0x0001f&gt; 25569 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteOnPhysicalDeviceAsync&gt;d__14.MoveNext () &lt;0x75c1880 + 0x004b7&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7750 + 0x0001f&gt; 25569 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteAsync&gt;d__12.MoveNext () &lt;0x75c10e0 + 0x0039f&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () &lt;0x18a92a0 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.RequestHandler`2+&lt;HandleAsync&gt;d__5[TMessage,TResult].MoveNext () &lt;0x75605c8 + 0x003d7&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x18a9720 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.MessageHandlerManager+&lt;&gt;c__DisplayClass17_0`2+&lt;&lt;RegisterHandlerAsync&gt;b__1&gt;d[TMessage,TResult].MoveNext () &lt;0x755fc08 + 0x002bb&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x18a9720 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.MessagingClient+&lt;ReplyAsync&gt;d__34`2[TRequest,TResponse].MoveNext () &lt;0x755ec90 + 0x00383&gt; in &lt;filename unknown&gt;:0 
   --- End of inner exception stack trace ---
   at Xamarin.Messaging.Client.MessagingClient.&lt;PostAsync&gt;d__23`2.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.MessagingClient.&lt;PostAsync&gt;d__22`2.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.MessagingClient.&lt;PostAsync&gt;d__26`2.MoveNext()
Xamarin.VisualStudio.IOS.IdbClient Error: 0 : [2016-08-07 22:07:14.0450] Launch failed. The app 'TestCubeWebMobileiOS' could not be launched on 'David's iPhone'. Please check the logs for more details.
Xamarin.Messaging.Exceptions.MonotouchException: warning HE0041: Error while processing device notifications: NotificationCallback with unknown message: 5

  at Xamarin.Messaging.IDB.MTouch+&lt;RunAsync&gt;d__6.MoveNext () &lt;0x7566158 + 0x007e3&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.MTouch+&lt;DeployAsync&gt;d__4.MoveNext () &lt;0x75c41b8 + 0x0032f&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;RunMTouchAsync&gt;d__17.MoveNext () &lt;0x75c3a18 + 0x0021b&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7530 + 0x0001f&gt; 25562 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteOnPhysicalDeviceWithoutAssetsAsync&gt;d__16.MoveNext () &lt;0x75c2478 + 0x001db&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7750 + 0x0001f&gt; 25569 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteOnPhysicalDeviceAsync&gt;d__14.MoveNext () &lt;0x75c1880 + 0x004b7&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x1bd7750 + 0x0001f&gt; 25569 in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.IDB.Handlers.LaunchAppMessageHandler+&lt;ExecuteAsync&gt;d__12.MoveNext () &lt;0x75c10e0 + 0x0039f&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () &lt;0x18a92a0 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.RequestHandler`2+&lt;HandleAsync&gt;d__5[TMessage,TResult].MoveNext () &lt;0x75605c8 + 0x003d7&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x18a9720 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.MessageHandlerManager+&lt;&gt;c__DisplayClass17_0`2+&lt;&lt;RegisterHandlerAsync&gt;b__1&gt;d[TMessage,TResult].MoveNext () &lt;0x755fc08 + 0x002bb&gt; in &lt;filename unknown&gt;:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () &lt;0x18ab6f0 + 0x00035&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) &lt;0x18a8f10 + 0x000b7&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) &lt;0x18a8e70 + 0x00087&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) &lt;0x18a8e20 + 0x0003f&gt; in &lt;filename unknown&gt;:0 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () &lt;0x18a9720 + 0x00024&gt; in &lt;filename unknown&gt;:0 
  at Xamarin.Messaging.Client.MessagingClient+&lt;ReplyAsync&gt;d__34`2[TRequest,TResponse].MoveNext () &lt;0x755ec90 + 0x00383&gt; in &lt;filename unknown&gt;:0 
</code></pre>

<p><strong>Update</strong></p>

<p>After upgrading to Xamarin 4.1.2.18 based on <a href="https://stackoverflow.com/a/38819379/1636276">Marcos' response</a> I find that I still can't debug my app but I get a different error log output, posted <a href="http://pastebin.com/3sprfanr" rel="nofollow noreferrer">here</a> (because I can't fit it within this post body).</p>

<p>It does still complain about not finding <code>Win32Exception</code>, however.</p>

<p><strong>Update 2</strong></p>

<p>I <em>can</em> build and launch Xamarin iOS apps that are developed on my Macbook Pro within Xamarin Studio</p>

<p>I <em>can</em> successfully launch and debug my (actual) Xamarin Forms app using an iOS simulator from my Windows machine (this is actually really useful if I can't resolve this bug).</p>

<p>I <em>cannot</em> successfully launch/debug my actual Xamarin Forms app on my actual iPhone from my Windows machine.</p>