Porting a VS 2015 RC Universal CS app project file to RTM

Porting a VS 2015 RC Universal CS app project file to RTM

The following is the comparison of the project files (.csproj) for a RC version of a Universal App with the RTM version of the project.

The RTM version was generated using the "simple" method: Created as a new blank Windows 10 Universal app in the RTM version of Visual Studio 2015 on an RTM version of Windows 10, and copying of source files (MainPage.xaml and MainPage,cs .. i.e. overwrite) to the new project from the RC version. References etc as in RC version were added to the RTM project version.

There is discussion of porting an existing RC UA project to RTM but it seems rather complex. See links here:
http://embedded101.com/Blogs/David-Jones/entryid/651/Windows-10-RTM-VS-2015-RTM-and-UWP-Universal-Apps-Are-we-there-yet-

Also, the changed project files are listed at:
Win 10-IoT: Universal app - Porting a VS 2015 RC Universal CS app project to RTM-The file changes


This gives you a better picture of the changes to project files. The changes were generated with Beyond Compare and annotated here.
Beyond Compare: http://scootersoftware.com/

Lines with a line number under RC are in the RC version of the project file.Those with a line number in the RTM column are in the RTM version of the project file.
   
Mode:  Differences  
Left file: C:\Temp\MySQLiteUWPAppRC\MySQLiteUWPApp.csproj  
Right file: C:\Temp\MySQLiteUWPAppRTM\MySQLiteUWPApp.csproj  
>
(1) Project GUID.
No change required here as this has changed only because a new project was created.
May prefer to use a GUID generator so that RTM version is different to RC version of app.
Leaving same will mean that when installed, the RC version if installed is removed first which is probably a good thing
RC RTM  
7       <ProjectGuid>{712AA4CA-A967-4339-AFF9-C95B1880EE09}</ProjectGuid>
  7     <ProjectGuid>{F416267A-FDC0-4434-909A-59CBDF3614A2}</ProjectGuid>
(2) Platform Version
Note Target PlatformVersion\MinVersion change from 10.0.10069 to 10.0.10240 (69 to 240)
14       <TargetPlatformVersion>10.0.10069.0</TargetPlatformVersion>
15       <TargetPlatformMinVersion>10.0.10069.0</TargetPlatformMinVersion>
  14     <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion>
  15     <TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion>
(3) Rename Universal App as Universal Windows Platform
Replace WINDOWS_UAP with WINDOWS_UWP in the Constants
28       <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  28     <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
 
38       <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  38     <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
 
51       <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  51     <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
 
61       <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  61     <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
 
74       <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  74     <DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
 
84       <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UAP</DefineConstants>
  84     <DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
(4) Insert new ItemGroup
Insert before the first <ItemGroup> (It starts with):
<ItemGroup>
    <Compile Include="App.xaml.cs">
    <DependentUpon>App.xaml</DependentUpon>
    </Compile>

  94   <ItemGroup>
  95     <!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
  96     <Content Include="ApplicationInsights.config">
  97       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  98     </Content>
  99     <None Include="project.json" />
  100     <None Include="Service References\Application Insights\ConnectedService.json" />
  101   </ItemGroup>
(5) Remove the qualification of the key file:
Remove the following two lines in red that are before and after the key file specification
110       <None Include="ApplicationInsights.config" />
<None Include="YourAppName_TemporaryKey.pfx" />  LEAVE THIS LINE. Remove the line above it and the line below.
112       <None Include="packages.config" />
(6) The Image Files
The set of image files appaers to have changed.
If porting an existing project you will probably use exusting files. If so then may not need to following.
Otherwise will need these need files.
116       <Content Include="Assets\Logo.scale-100.png" />
117       <Content Include="Assets\SmallLogo.scale-100.png" />
118       <Content Include="Assets\SplashScreen.scale-100.png" />
119       <Content Include="Assets\StoreLogo.scale-100.png" />
120       <Content Include="Assets\WideLogo.scale-100.png" />
  122     <Content Include="Assets\LockScreenLogo.scale-200.png" />
  123     <Content Include="Assets\SplashScreen.scale-200.png" />
  124     <Content Include="Assets\Square150x150Logo.scale-200.png" />
  125     <Content Include="Assets\Square44x44Logo.scale-200.png" />
  126     <Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
  127     <Content Include="Assets\StoreLogo.png" />
  128     <Content Include="Assets\Wide310x150Logo.scale-200.png" />
(7) Remove Application Insights References
Remove all of the following (inside ab ItemGroup)
And replace with the last line below (line 141 of RTM Vesrion)
133       <Reference Include="Microsoft.ApplicationInsights, Version=0.14.3.177, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
134         <HintPath>..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\lib\portable-win81+wpa81\Microsoft.ApplicationInsights.dll</HintPath>
135         <Private>True</Private>
136       </Reference>
137       <Reference Include="Microsoft.ApplicationInsights.Extensibility.Windows, Version=0.14.3.177, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
138         <HintPath>..\packages\Microsoft.ApplicationInsights.WindowsApps.0.14.3-build00177\lib\win81\Microsoft.ApplicationInsights.Extensibility.Windows.dll</HintPath>
139         <Private>True</Private>
140       </Reference>
141       <Reference Include="Microsoft.ApplicationInsights.PersistenceChannel, Version=0.14.3.186, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
142         <HintPath>..\packages\Microsoft.ApplicationInsights.PersistenceChannel.0.14.3-build00177\lib\portable-win81+wpa81\Microsoft.ApplicationInsights.PersistenceChannel.dll</HintPath>
143         <Private>True</Private>
144       </Reference>
145       <Reference Include="System.Numerics.Vectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
146         <HintPath>..\packages\System.Numerics.Vectors.4.0.0\lib\win8\System.Numerics.Vectors.dll</HintPath>
147         <Private>True</Private>
148       </Reference>
149       <Reference Include="System.Numerics.Vectors.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
150         <HintPath>..\packages\System.Numerics.Vectors.4.0.0\lib\win8\System.Numerics.Vectors.WindowsRuntime.dll</HintPath>
151         <Private>True</Private>
152       </Reference>
  141     <WCFMetadata Include="Service References\"/>
(8) VCLibs reference change
As below.
155       <SDKReference Include="Microsoft.VCLibs.AppLocal, version=14.0">
156         <Name>Microsoft Visual C++  AppLocal Runtime Package for Windows UAP</Name>
  144     <SDKReference Include="Microsoft.VCLibs, Version=14.0">
  145       <Name>Visual C++ 2015 Runtime forUniversal Windows Platform Apps</Name>
(9) A project specific change
This is an SDK that was added as a reference.
The SDK had been installed (ie updated) via the Tools-->Extensions and Updates menu.
That is the RC version used Version 3.8.10 whereas the RTM version used vesrion 3.8.11.1 of the SDK.
You may need to update any added SDKs.
158       <SDKReference Include="SQLite.UAP.2015, Version=3.8.10">
  147     <SDKReference Include="SQLite.UAP.2015, Version=3.8.11.1">
(10) Remove the following
Its immediately after:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets">
166     <Import Project="..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.16-beta\build\portable-net45+win8+wpa81\Microsoft.Diagnostics.Tracing.EventSource.Redist.targets" Condition="Exists('..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.16-beta\build\portable-net45+win8+wpa81\Microsoft.Diagnostics.Tracing.EventSource.Redist.targets')" />
167     <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
168       <PropertyGroup>
169         <ErrorText>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}.</ErrorText>
170       </PropertyGroup>
171       <Error Condition="!Exists('..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.16-beta\build\portable-net45+win8+wpa81\Microsoft.Diagnostics.Tracing.EventSource.Redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.16-beta\build\portable-net45+win8+wpa81\Microsoft.Diagnostics.Tracing.EventSource.Redist.targets'))" />
172       <Error Condition="!Exists('..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\build\portable-win81+wpa81\Microsoft.ApplicationInsights.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\build\portable-win81+wpa81\Microsoft.ApplicationInsights.targets'))" />
173     </Target>
174     <Import Project="..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\build\portable-win81+wpa81\Microsoft.ApplicationInsights.targets" Condition="Exists('..\packages\Microsoft.ApplicationInsights.0.14.3-build00177\build\portable-win81+wpa81\Microsoft.ApplicationInsights.targets')" />