Scan Results

97% of your code is ready for mobilization!

Taking this code mobile will save 3 months, 3 weeks, 5 days of platform-specific development effort.

Percent of code that can run unmodified on each platform

97%
Android
97%
iOS
94%
Windows Phone
100%
Windows Store

Sample - SignalR Client

Scan Date: Tuesday Jun 25, 2013
Xamarin analyzed the following assemblies for compatibility with Xamarin.Android, Xamarin.iOS, Windows Phone and Windows Store:
  • Microsoft.AspNet.SignalR.Client.dll
What does this report tell me?
The Xamarin .NET Mobility Scanner analyzed 8,767 method calls. This compatibility report details only the 36 methods that were not available on all of the platforms you selected. Compatibility percentages are determined by calculating how many types depend on incompatible method calls compared to the total number of types evaluated. The more platform-specific method calls that you replace with cross-platform alternatives, the more mobile your code becomes, and the more delicious bananas you will earn!
Tweet Save as Excel New Scan Download Xamarin
Calls Platform-specific method name Namespace Suggestions Compatibility
+
3 string Type.Name { get; } System
+
3 Assembly TypeInfo.Assembly { get; } System.Reflection
+
2 Headers.HttpRequestHeaders HttpRequestMessage.Headers { get; } System.Net.Http
+
2 HttpClient..ctor (HttpMessageHandler) System.Net.Http
+
2 HttpContent HttpRequestMessage.Content { set; } System.Net.Http
+
2 HttpContent HttpResponseMessage.Content { get; } System.Net.Http
+
2 void ThreadPoolTimer.Cancel () Windows.System.Threading
+
1 FormUrlEncodedContent..ctor (System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<string, string>>) System.Net.Http
+
1 HttpClientHandler..ctor () System.Net.Http
+
1 HttpMethod HttpMethod.Post { get; } System.Net.Http
+
1 HttpRequestMessage..ctor (HttpMethod, string) System.Net.Http
+
1 StringContent..ctor (string) System.Net.Http
+
1 System.Net.CookieContainer HttpClientHandler.CookieContainer { get; } System.Net.Http
+
1 System.Net.CookieContainer HttpClientHandler.CookieContainer { set; } System.Net.Http
+
1 System.Net.ICredentials HttpClientHandler.Credentials { get; } System.Net.Http
+
1 System.Net.ICredentials HttpClientHandler.Credentials { set; } System.Net.Http
+
1 System.Net.IWebProxy HttpClientHandler.Proxy { get; } System.Net.Http
+
1 System.Net.IWebProxy HttpClientHandler.Proxy { set; } System.Net.Http
+
1 System.Threading.Tasks.Task<HttpResponseMessage> HttpClient.GetAsync (string, HttpCompletionOption, System.Threading.CancellationToken) System.Net.Http
+
1 System.Threading.Tasks.Task<HttpResponseMessage> HttpClient.SendAsync (HttpRequestMessage, HttpCompletionOption, System.Threading.CancellationToken) System.Net.Http
+
1 System.Threading.Tasks.Task<HttpResponseMessage> HttpClientHandler.SendAsync (HttpRequestMessage, System.Threading.CancellationToken) System.Net.Http
+
1 System.Threading.Tasks.Task<string> HttpContent.ReadAsStringAsync () System.Net.Http
+
1 System.Threading.Tasks.Task<System.IO.Stream> HttpContent.ReadAsStreamAsync () System.Net.Http
+
1 void HttpResponseMessage.Dispose () System.Net.Http
+
1 MediaTypeWithQualityHeaderValue..ctor (string) System.Net.Http.Headers
+
1 System.Net.Http.Headers.HttpHeaderValueCollection<MediaTypeWithQualityHeaderValue> HttpRequestHeaders.Accept { get; } System.Net.Http.Headers
+
1 void HttpHeaders.Add (string, string) System.Net.Http.Headers