title: Cannot open the project in Visual Studio 2017
body: <p>I am trying to open a Xamarin project in Visual Studio 2017 version 15.8.4, But it's not opening, It shows   (needs migration).</p>
  
  <p><a href="https://i.stack.imgur.com/bwU1B.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bwU1B.png" alt="enter image description here"></a></p>
  
  <p>When I try to reload it gives this popup.</p>
  
  <p><a href="https://i.stack.imgur.com/seRAA.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/seRAA.png" alt="enter image description here"></a></p>
  
  <p>When I click the Ok button, it redirects me to this page.</p>
  
  <p><a href="https://i.stack.imgur.com/CTYrw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CTYrw.png" alt="enter image description here"></a></p>
  
  <p>When I click on the link, it redirects me to this page.</p>
  
  <p><a href="https://docs.microsoft.com/en-us/visualstudio/porting/porting-migrating-and-upgrading-visual-studio-projects?view=vs-2015" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/visualstudio/porting/porting-migrating-and-upgrading-visual-studio-projects?view=vs-2015</a>.</p>
  
  <p>I have gone through the above link, but I am not able to solve the issue.</p>
  
  <p>I am able to open this project in Visual Studio 2015.</p>
  
  <p>Visual Studio 2017 About window.</p>
  
  <p><a href="https://i.stack.imgur.com/I6WOe.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/I6WOe.png" alt="enter image description here"></a></p>
  
  <p><strong>csproj file</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
    &lt;Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /&gt;
    &lt;PropertyGroup&gt;
      &lt;Configuration Condition=" '$(Configuration)' == '' "&gt;Debug&lt;/Configuration&gt;
      &lt;Platform Condition=" '$(Platform)' == '' "&gt;AnyCPU&lt;/Platform&gt;
      &lt;ProjectGuid&gt;{D6C2377F-23C1-4998-A72F-622632553B58}&lt;/ProjectGuid&gt;
      &lt;OutputType&gt;AppContainerExe&lt;/OutputType&gt;
      &lt;AppDesignerFolder&gt;Properties&lt;/AppDesignerFolder&gt;
      &lt;RootNamespace&gt;NECMobilePOS.Client.Windows&lt;/RootNamespace&gt;
      &lt;AssemblyName&gt;NECMobilePOS.Client.Windows&lt;/AssemblyName&gt;
      &lt;DefaultLanguage&gt;en-US&lt;/DefaultLanguage&gt;
      &lt;TargetPlatformVersion&gt;8.1&lt;/TargetPlatformVersion&gt;
      &lt;MinimumVisualStudioVersion&gt;12&lt;/MinimumVisualStudioVersion&gt;
      &lt;FileAlignment&gt;512&lt;/FileAlignment&gt;
      &lt;ProjectTypeGuids&gt;{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&lt;/ProjectTypeGuids&gt;
      &lt;SccProjectName&gt;SAK&lt;/SccProjectName&gt;
      &lt;SccLocalPath&gt;SAK&lt;/SccLocalPath&gt;
      &lt;SccAuxPath&gt;SAK&lt;/SccAuxPath&gt;
      &lt;SccProvider&gt;SAK&lt;/SccProvider&gt;
      &lt;NuGetPackageImportStamp&gt;
      &lt;/NuGetPackageImportStamp&gt;
      &lt;AppxAutoIncrementPackageRevision&gt;True&lt;/AppxAutoIncrementPackageRevision&gt;
      &lt;AppxPackageDir&gt;bin\Release\&lt;/AppxPackageDir&gt;
      &lt;AppxBundlePlatforms&gt;x86&lt;/AppxBundlePlatforms&gt;
      &lt;AppxBundle&gt;Auto&lt;/AppxBundle&gt;
      &lt;PackageCertificateThumbprint&gt;54D50F2637891A440C3FCC71BB05D56DE984BFC0&lt;/PackageCertificateThumbprint&gt;
      &lt;PackageCertificateKeyFile&gt;NECMobilePOS.Client.Windows_TemporaryKey.pfx&lt;/PackageCertificateKeyFile&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "&gt;
      &lt;PlatformTarget&gt;x86&lt;/PlatformTarget&gt;
      &lt;DebugSymbols&gt;true&lt;/DebugSymbols&gt;
      &lt;DebugType&gt;full&lt;/DebugType&gt;
      &lt;Optimize&gt;false&lt;/Optimize&gt;
      &lt;OutputPath&gt;bin\Debug\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;DEBUG;NETFX_CORE;WINDOWS_APP;POSTYPE_RESTO;&lt;/DefineConstants&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;WarningLevel&gt;4&lt;/WarningLevel&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "&gt;
      &lt;PlatformTarget&gt;AnyCPU&lt;/PlatformTarget&gt;
      &lt;DebugType&gt;pdbonly&lt;/DebugType&gt;
      &lt;Optimize&gt;true&lt;/Optimize&gt;
      &lt;OutputPath&gt;bin\Release\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;NETFX_CORE;WINDOWS_APP;POSTYPE_RESTO;&lt;/DefineConstants&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;WarningLevel&gt;4&lt;/WarningLevel&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'"&gt;
      &lt;DebugSymbols&gt;true&lt;/DebugSymbols&gt;
      &lt;OutputPath&gt;bin\ARM\Debug\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;DEBUG;WINDOWS_APP;POSTYPE_RESTO;&lt;/DefineConstants&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;full&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;ARM&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'"&gt;
      &lt;OutputPath&gt;bin\ARM\Release\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;NETFX_CORE;WINDOWS_APP&lt;/DefineConstants&gt;
      &lt;Optimize&gt;true&lt;/Optimize&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;pdbonly&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;ARM&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"&gt;
      &lt;DebugSymbols&gt;true&lt;/DebugSymbols&gt;
      &lt;OutputPath&gt;bin\x64\Debug\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;DEBUG;TRACE;NETFX_CORE;WINDOWS_APP&lt;/DefineConstants&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;full&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;x64&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'"&gt;
      &lt;OutputPath&gt;bin\x64\Release\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;NETFX_CORE;WINDOWS_APP&lt;/DefineConstants&gt;
      &lt;Optimize&gt;true&lt;/Optimize&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;pdbonly&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;x64&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'"&gt;
      &lt;DebugSymbols&gt;true&lt;/DebugSymbols&gt;
      &lt;OutputPath&gt;bin\x86\Debug\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;DEBUG;NETFX_CORE;WINDOWS_APP;POSTYPE_RESTO;&lt;/DefineConstants&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;full&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;x86&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
      &lt;RunCodeAnalysis&gt;false&lt;/RunCodeAnalysis&gt;
      &lt;WarningLevel&gt;3&lt;/WarningLevel&gt;
      &lt;DocumentationFile&gt;
      &lt;/DocumentationFile&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'"&gt;
      &lt;OutputPath&gt;bin\x86\Release\&lt;/OutputPath&gt;
      &lt;DefineConstants&gt;TRACE;NETFX_CORE;WINDOWS_APP;POSTYPE_RESTO;&lt;/DefineConstants&gt;
      &lt;Optimize&gt;true&lt;/Optimize&gt;
      &lt;NoWarn&gt;;2008&lt;/NoWarn&gt;
      &lt;DebugType&gt;pdbonly&lt;/DebugType&gt;
      &lt;PlatformTarget&gt;x86&lt;/PlatformTarget&gt;
      &lt;UseVSHostingProcess&gt;false&lt;/UseVSHostingProcess&gt;
      &lt;ErrorReport&gt;prompt&lt;/ErrorReport&gt;
      &lt;Prefer32Bit&gt;true&lt;/Prefer32Bit&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &amp;lt; '12.0' "&gt;
      &lt;VisualStudioVersion&gt;12.0&lt;/VisualStudioVersion&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup&gt;
      &lt;SignAssembly&gt;false&lt;/SignAssembly&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup&gt;
      &lt;DelaySign&gt;false&lt;/DelaySign&gt;
    &lt;/PropertyGroup&gt;
    &lt;PropertyGroup&gt;
      &lt;AssemblyOriginatorKeyFile&gt;NECMobilePOS.Client.Windows_TemporaryKey.pfx&lt;/AssemblyOriginatorKeyFile&gt;
    &lt;/PropertyGroup&gt;
    &lt;Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" /&gt;
    &lt;Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"&gt;
      &lt;PropertyGroup&gt;
        &lt;ErrorText&gt;This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.&lt;/ErrorText&gt;
      &lt;/PropertyGroup&gt;
      &lt;Error Condition="!Exists('..\packages\SQLitePCL.raw.0.8.6\build\win81\SQLitePCL.raw.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SQLitePCL.raw.0.8.6\build\win81\SQLitePCL.raw.targets'))" /&gt;
      &lt;Error Condition="!Exists('..\packages\Xamarin.Forms.2.2.0.45\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Forms.2.2.0.45\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" /&gt;
    &lt;/Target&gt;
    &lt;Import Project="..\packages\SQLitePCL.raw.0.8.6\build\win81\SQLitePCL.raw.targets" Condition="Exists('..\packages\SQLitePCL.raw.0.8.6\build\win81\SQLitePCL.raw.targets')" /&gt;
    &lt;Import Project="..\packages\Xamarin.Forms.2.2.0.45\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.2.0.45\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" /&gt;
    &lt;!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
         Other similar extension points exist, see Microsoft.Common.targets.
    &lt;Target Name="BeforeBuild"&gt;
    &lt;/Target&gt;
    &lt;Target Name="AfterBuild"&gt;
    &lt;/Target&gt;
    --&gt;
  &lt;/Project&gt;
  </code></pre>