title: Creating Xamarin.Forms .Net Standard app with Azure IOT Library?
body: <p>I'm making an iOS/Android app that will work with Azure IoT Hub. The latest Microsoft.Azure.Devices version from what I understand is only compatible with .Net Standard projects. I've been trying to follow these twho tutorials (<a href="https://xamarinhelp.com/upgrade-pcl-net-standard-class-library/" rel="nofollow noreferrer">1</a>, <a href="https://blog.xamarin.com/building-xamarin-forms-apps-net-standard/" rel="nofollow noreferrer">2</a>) to convert PCL project to .Net Standard project to no avail, and I'm lost on what I'm doing wrong. </p>
  
  <p>These are the steps that I'm taking.</p>
  
  <ol>
  <li>Create new Cross Platform App called <strong>TestProject</strong>. Xamarin.Forms -> Blank App -> Portable Class Library (PCL)</li>
  <li>Right click solution -> Add New Project -> .Net Standard -> Create .Net Standard Library called <strong>TestProject.Core</strong></li>
  <li>Delete the auto generated class Class1.cs and move <strong>App.xaml</strong> and <strong>MainPage.xam</strong>l to <strong>TestProject.Core</strong>.</li>
  <li>Delete Portable Library <strong>TestProject</strong>.</li>
  <li>Rename <strong>TestProject.Core</strong> to <strong>TestProject</strong>.</li>
  <li>Add <strong>TestProject</strong> reference to iOS and Android.</li>
  <li><p>Click on <strong>TestProject</strong> and select <strong>Edit TestProject.csproj</strong>. Change PropertyGroup to following: </p>
  
  <pre><code>&lt;PropertyGroup&gt; 
   &lt;TargetFramework&gt;netstandard1.4&lt;/TargetFramework&gt; 
   &lt;PackageTargetFallback&gt;$(PackageTargetFallback);portable-win+net45+wp8+win81+wpa8
  &lt;/PropertyGroup&gt;
  </code></pre></li>
  <li><p>Right click on solution and select Manage Nuget Packages For Solution. </p></li>
  <li><p>Check <strong>Include Prerelease</strong> and install <strong>2.3.5.256-pre6 Xamarin.Forms</strong> on TestProject, TestProject.Droid and TestProject.iOS.</p></li>
  <li><p>Clean and Rebuild solution. </p></li>
  <li><p>Right click on <strong>TestProject</strong> and select Manage Nuget Packages. Install <strong><a href="https://www.nuget.org/packages/Microsoft.Azure.Devices/1.3.2" rel="nofollow noreferrer">Microsft.Azure.Devices</a></strong></p></li>
  <li><p>Clean and Rebuild.</p></li>
  <li><p>Add code to <strong>TestProject</strong> that uses Microsoft.Azure.Devices.</p></li>
  <li><p>Rebuild and get error:</p>
  
  <p>Project File Line Suppression State Error Exception while loading assemblies: System.IO.FileNotFoundException: 
      Could not load assembly 'Microsoft.Azure.Devices, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 
      Perhaps it doesn't exist in the Mono for Android profile? File name: 'Microsoft.Azure.Devices.dll' </p></li>
  </ol>
  
  <p>From what I can understand I am missing <strong>Microsoft.Azure.Devices</strong> Nuget package on 
  <strong>TestProject.Droid</strong>, however, when I attempt to install it, I get the following error:</p>
  
  <pre><code>Could not install package 'System.Threading.Overlapped 4.3.0'. 
  You are trying to install this package into a project that targets 
  'MonoAndroid,Version=v7.1', but the package does not contain any assembly references or 
  content files that are compatible with that framework.
  </code></pre>
  
  <p>When I try to install *Microsoft.Azure.Devices** on iOS:</p>
  
  <pre><code>Could not install package 'System.Threading.Overlapped 4.3.0'. You are trying to install 
  this package into a project that targets 'Xamarin.iOS,Version=v1.0', but the package does not 
  contain any assembly references or content files that are compatible with that framework. 
  </code></pre>