Przeglądaj źródła

Build and pack Runtime Store

- Also add targets to build all metapackage.
= 8 lat temu
rodzic
commit
11b25e7c87
31 zmienionych plików z 1430 dodań i 7 usunięć
  1. 1 0
      .gitignore
  2. 2 1
      NuGet.Config
  3. BIN
      build/Key.snk
  4. 191 0
      build/RuntimeStore.targets
  5. 4 4
      build/artifacts.props
  6. 20 0
      build/common.props
  7. 4 0
      build/dependencies.props
  8. 0 1
      build/repo.props
  9. 1 1
      build/repo.targets
  10. 64 0
      build/tasks/AddMetapackageReferences.cs
  11. 131 0
      build/tasks/ComposeNewStore.cs
  12. 57 0
      build/tasks/ConsolidateManifests.cs
  13. 61 0
      build/tasks/CreateCommonManifest.cs
  14. 1 0
      build/tasks/RepoTasks.csproj
  15. 6 0
      build/tasks/RepoTasks.tasks
  16. 30 0
      build/tasks/ResolveHostingStartupPackages.cs
  17. 60 0
      build/tasks/TrimDeps.cs
  18. 6 0
      build/tools/scripts/GetSharedFrameworkVersion.ps1
  19. 2 0
      build/tools/scripts/GetSharedFrameworkVersion.sh
  20. 20 0
      build/tools/templates/HostingStartup/HostingStartup.csproj
  21. 7 0
      build/tools/templates/HostingStartup/Program.cs
  22. 22 0
      build/tools/templates/RS.Manifest/RS.Manifest.csproj
  23. 19 0
      src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj
  24. 29 0
      src/Microsoft.AspNetCore.All/build/PublishWithAspNetCoreTargetManifest.targets
  25. 3 0
      src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-common.xml
  26. 171 0
      src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-linux-x64.xml
  27. 171 0
      src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-osx-x64.xml
  28. 172 0
      src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x64.xml
  29. 172 0
      src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x86.xml
  30. 3 0
      src/Microsoft.AspNetCore.All/build/netcoreapp2.0/Microsoft.AspNetCore.All.targets
  31. 0 0
      src/Microsoft.AspNetCore.All/lib/netcoreapp2.0/_._

+ 1 - 0
.gitignore

@@ -19,6 +19,7 @@ node_modules
 .build
 .nuget
 .r
+.w
 .deps
 global.json
 korebuild-lock.txt

+ 2 - 1
NuGet.Config

@@ -3,6 +3,7 @@
   <packageSources>
     <clear />
     <add key="AspNetCore" value="https://dotnet.myget.org/F/aspnetcore-ci-release/api/v3/index.json" />
+    <add key="AspNetCoreTools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
     <add key="NuGet" value="https://api.nuget.org/v3/index.json" />
   </packageSources>
-</configuration>
+</configuration>

BIN
build/Key.snk


+ 191 - 0
build/RuntimeStore.targets

@@ -0,0 +1,191 @@
+<Project>
+  <Import Project="common.props" />
+
+  <PropertyGroup>
+    <_DependencyBuildDirectory>$(RepositoryRoot).deps\build\</_DependencyBuildDirectory>
+    <_BuildScriptsDirectory>$(MSBuildThisFileDirectory)tools\scripts\</_BuildScriptsDirectory>
+    <_WorkRoot>$(RepositoryRoot).w\</_WorkRoot>
+    <_RuntimeStoreWorkDirectory>$(_WorkRoot).rw\</_RuntimeStoreWorkDirectory>
+    <_RuntimeStoreOutputDirectory>$(_WorkRoot).ro\</_RuntimeStoreOutputDirectory>
+    <_TemplatesDirectory>$(MSBuildThisFileDirectory)tools\templates\</_TemplatesDirectory>
+    <_SrcDirectory>$(RepositoryRoot)src\</_SrcDirectory>
+    <_AllMetapackageDirectory>$(_SrcDirectory)Microsoft.AspNetCore.All\</_AllMetapackageDirectory>
+    <_ExistingManifestsDirectory>$(_AllMetapackageDirectory)build\</_ExistingManifestsDirectory>
+    <_ArtifactsZipDirectory>$(ArtifactsDir)zip\</_ArtifactsZipDirectory>
+    <_StoreZipDirectory>$(_ArtifactsZipDirectory)rs\</_StoreZipDirectory>
+    <_SymbolsZipDirectory>$(_ArtifactsZipDirectory)symbols\</_SymbolsZipDirectory>
+    <_DepsOutputDirectory>$(ArtifactsDir)deps\</_DepsOutputDirectory>
+  </PropertyGroup>
+
+  <Target Name="BuildAllMetapackage" DependsOnTargets="ResolveRepoInfo">
+    <!-- Clear working directory -->
+    <RemoveDir Directories="$(_WorkRoot)" />
+
+    <!-- Move to working dir -->
+    <PropertyGroup>
+      <MetapackageWorkDirectory>$(_WorkRoot)Microsoft.AspNetCore.All\</MetapackageWorkDirectory>
+    </PropertyGroup>
+    <ItemGroup>
+      <AllMetapackageFiles Include="$(_AllMetapackageDirectory)**\*" />
+    </ItemGroup>
+
+    <Copy SourceFiles="@(AllMetapackageFiles)" DestinationFolder="$(MetapackageWorkDirectory)\%(RecursiveDir)" />
+
+    <!-- Generate RS.Reference project -->
+    <RepoTasks.AddMetapackageReferences
+      ReferencePackagePath="$(MetapackageWorkDirectory)Microsoft.AspNetCore.All.csproj"
+      BuildArtifacts="@(ArtifactInfo)"
+      PackageArtifacts="@(PackageArtifact)" />
+
+    <!-- Restore and pack-->
+    <MSBuild Projects="$(MetapackageWorkDirectory)Microsoft.AspNetCore.All.csproj"
+      Targets="Restore;Pack"
+      Properties="Configuration=$(Configuration)" />
+
+    <!-- Copy to output directory -->
+    <ItemGroup>
+      <AllMetapackageNupkgFile Include="$(_AllMetapackageDirectory)**\*.nupkg" />
+    </ItemGroup>
+
+    <Copy SourceFiles="@(AllMetapackageNupkgFile)" DestinationFolder="$(BuildDir)" />
+
+  </Target>
+
+  <Target Name="_PrepareRuntimeStoreBuildAssets">
+    <!-- Clear working directory -->
+    <RemoveDir Directories="$(_WorkRoot)" />
+
+    <!-- Copy and update build assets -->
+    <Copy SourceFiles="$(RepositoryRoot)NuGet.config" DestinationFiles="$(_WorkRoot)NuGet.config" />
+    <Copy SourceFiles="$(_TemplatesDirectory)RS.Manifest\RS.Manifest.csproj" DestinationFiles="$(_WorkRoot)RS.Manifest.csproj" />
+
+    <!-- Update NuGet.config -->
+    <UpdatePackageSource
+      NuGetConfigPath="$(_WorkRoot)NuGet.config"
+      SourceName="Dependencies"
+      SourceUri="$(_DependencyBuildDirectory)"
+      Condition="Exists('$(_DependencyBuildDirectory)')" />
+  </Target>
+
+  <Target Name="_ResolveRuntimeStoreRID">
+    <Error Text="Please specify the platform for the runtime package store via RuntimeStoreArch: {x64|x86}." Condition="'$(RuntimeStoreArch)' == ''"/>
+
+    <PropertyGroup>
+      <RuntimeStoreRID Condition="$([MSBuild]::IsOSPlatform('Windows'))">win7-$(RuntimeStoreArch)</RuntimeStoreRID>
+      <RuntimeStoreRID Condition="$([MSBuild]::IsOSPlatform('Linux'))">linux-$(RuntimeStoreArch)</RuntimeStoreRID>
+      <RuntimeStoreRID Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx-$(RuntimeStoreArch)</RuntimeStoreRID>
+    </PropertyGroup>
+  </Target>
+
+  <Target Name="BuildRuntimeStore" DependsOnTargets="_ResolveRuntimeStoreRID;_PrepareRuntimeStoreBuildAssets;_ResolveCurrentSharedFrameworkVersion">
+    <!-- Build runtime store -->
+    <Exec Command="dotnet store -m $(_WorkRoot)RS.Manifest.csproj -f netcoreapp2.0 -r $(RuntimeStoreRID) -o $(_RuntimeStoreOutputDirectory) --framework-version $(SharedFrameworkVersion) -w $(_RuntimeStoreWorkDirectory) $(RUNTIMESTORE_ADDITIONAL_ARGS)" />
+  </Target>
+
+  <Target Name="_ResolveCurrentSharedFrameworkVersion">
+    <!-- Parse framework version -->
+    <Exec Command="powershell.exe $(_BuildScriptsDirectory)GetSharedFrameworkVersion.ps1" ConsoleToMSBuild="true" Condition="'$(OS)' == 'Windows_NT'">
+      <Output TaskParameter="ConsoleOutput" PropertyName="SharedFrameworkVersion" />
+    </Exec>
+    <Exec Command="bash $(_BuildScriptsDirectory)GetSharedFrameworkVersion.sh" ConsoleToMSBuild="true" Condition="'$(OS)' != 'Windows_NT'">
+      <Output TaskParameter="ConsoleOutput" PropertyName="SharedFrameworkVersion" />
+    </Exec>
+  </Target>
+
+  <Target Name="BuildHostingDeps" DependsOnTargets="ResolveRepoInfo;_ResolveCurrentSharedFrameworkVersion">
+    <!-- Generate RS.Reference project -->
+    <RepoTasks.ResolveHostingStartupPackages
+      BuildArtifacts="@(ArtifactInfo)"
+      PackageArtifacts="@(PackageArtifact)">
+      <Output TaskParameter="HostingStartupArtifacts" ItemName="HostingStartupArtifacts" />
+    </RepoTasks.ResolveHostingStartupPackages>
+
+    <!--- MSBuild caches things if you run inproc so have to use Exec -->
+    <Exec Command="dotnet msbuild /t:&quot;Restore;Rebuild;CollectDeps&quot; $(_TemplatesDirectory)HostingStartup/HostingStartup.csproj /p:&quot;DepsOutputPath=$(_DepsOutputDirectory);HostingStartupPackageName=%(HostingStartupArtifacts.PackageId);HostingStartupPackageVersion=%(HostingStartupArtifacts.Version);RuntimeFrameworkVersion=$(SharedFrameworkVersion)&quot;"/>
+
+    <ItemGroup>
+      <DepsFiles Include="$(_DepsOutputDirectory)**\*.deps.json" />
+    </ItemGroup>
+
+    <RepoTasks.TrimDeps DepsFiles="@(DepsFiles)" />
+  </Target>
+
+  <Target Name="PackRuntimeStore" DependsOnTargets="_ResolveRuntimeStoreRID">
+    <PropertyGroup>
+      <OutputZip>$(ArtifactsDir)aspnetcore-store-$(VersionPrefix)-$(VersionSuffix)-$(RuntimeStoreRID).zip</OutputZip>
+      <OutputSymbolZip>$(ArtifactsDir)aspnetcore-symbols-$(VersionPrefix)-$(VersionSuffix)-$(RuntimeStoreRID).zip</OutputSymbolZip>
+    </PropertyGroup>
+
+    <ItemGroup>
+      <RuntimeStoreManifestFiles Include="$(_RuntimeStoreOutputDirectory)**\artifact.xml" />
+      <RuntimeStoreFiles Include="$(_RuntimeStoreOutputDirectory)**\*" Exclude="$(_RuntimeStoreOutputDirectory)**\artifact.xml;$(_RuntimeStoreOutputDirectory)symbols\**\*" />
+      <RuntimeStoreSymbolFiles Include="$(_RuntimeStoreOutputDirectory)symbols\**\*" />
+      <DepsFiles Include="$(_DepsOutputDirectory)**\*" />
+      <ExistingStoreManifests Include="$(_ExistingManifestsDirectory)*.xml" />
+    </ItemGroup>
+
+    <!-- Compose new store and symbols -->
+    <RepoTasks.ComposeNewStore
+      ExistingManifests="@(ExistingStoreManifests)"
+      NewManifests="@(RuntimeStoreManifestFiles)"
+      RuntimeStoreFiles="@(RuntimeStoreFiles)"
+      RuntimeStoreSymbolFiles="@(RuntimeStoreSymbolFiles)"
+      ManifestDestination="$(ArtifactsDir)aspnetcore-store-$(VersionPrefix)-$(VersionSuffix)-$(RuntimeStoreRID).xml"
+      StoreDestination="$(_StoreZipDirectory)store\"
+      SymbolsDestination="$(_SymbolsZipDirectory)"/>
+
+    <!-- Insert deps files -->
+    <Copy SourceFiles="@(DepsFiles)" DestinationFolder="$(_StoreZipDirectory)additionalDeps\%(RecursiveDir)" />
+
+    <ItemGroup>
+      <OutputZipFiles Include="$(_StoreZipDirectory)**\*" />
+      <OutputSymbolZipFiles Include="$(_SymbolsZipDirectory)**\*" />
+    </ItemGroup>
+
+    <!-- Create zips -->
+    <ZipArchive File="$(OutputZip)" SourceFiles="@(OutputZipFiles)" WorkingDirectory="$(_StoreZipDirectory)" Overwrite="true"/>
+    <ZipArchive File="$(OutputSymbolZip)" SourceFiles="@(OutputSymbolZipFiles)" WorkingDirectory="$(_SymbolsZipDirectory)" Overwrite="true" Condition="'@(OutputSymbolZipFiles)' != ''"/>
+  </Target>
+
+  <Target Name="CreateCommonManifest" DependsOnTargets="_PrepareRuntimeStoreBuildAssets">
+    <PropertyGroup>
+      <CommonManifestFileName>aspnetcore-store-$(VersionPrefix)-$(VersionSuffix)-common.xml</CommonManifestFileName>
+    </PropertyGroup>
+
+    <!-- Trim packages guaranteed to be in the runtime but isn't included in our runtime store -->
+    <ItemGroup>
+      <PackagesToTrim Include="runtime.win-arm64.runtime.native.system.data.sqlclient.sni" />
+    </ItemGroup>
+
+    <MSBuild Projects="$(_WorkRoot)RS.Manifest.csproj" Targets="Restore;GetPackageDefinitions" >
+      <Output TaskParameter="TargetOutputs" ItemName="_PackageDefinitions" />
+    </MSBuild>
+
+    <RepoTasks.CreateCommonManifest DestinationFilePath="$(ArtifactsDir)$(CommonManifestFileName)" PackageDefinitions="@(_PackageDefinitions)" Packages="@(PackagesToTrim)"/>
+  </Target>
+
+  <Target Name="AddManifestsToMetapackage">
+    <Error Text="COHERENCE_DROP_LOCATION is not specified. This requires a path like \\aspnetci\drops\Coherence\{branch}\{build-number}"
+        Condition=" '$(COHERENCE_DROP_LOCATION)' == '' " />
+
+    <ItemGroup>
+      <MetaPackageNupkg Include="$(COHERENCE_DROP_LOCATION)\ship\Microsoft.AspNetCore.All.*.nupkg" />
+      <ManifestFiles Include="$(ArtifactsDir)*.xml"/>
+    </ItemGroup>
+
+    <RemoveDir Directories="@(MetaPackageNupkg->'$(_WorkRoot)%(Filename)')" />
+    <Copy SourceFiles="@(MetaPackageNupkg)" DestinationFolder="$(ArtifactsDir)" />
+    <UnzipArchive File="$(ArtifactsDir)%(MetaPackageNupkg.FileName)%(MetaPackageNupkg.Extension)" Destination="@(MetaPackageNupkg->'$(_WorkRoot)%(Filename)')" />
+
+    <!-- Create a consolidated manifest and place in metapackage -->
+    <RepoTasks.ConsolidateManifests
+      Manifests="@(ManifestFiles)"
+      ManifestDestination="@(MetaPackageNupkg->'$(_WorkRoot)%(Filename)\build\aspnetcore-store-$(VersionPrefix)-$(VersionSuffix).xml')"/>
+
+    <ItemGroup>
+      <ArchiveFiles Include="$(TempDir)%(MetaPackageNupkg.Filename)\**\*" />
+    </ItemGroup>
+
+    <ZipArchive File="%(MetaPackageNupkg.FullPath)" SourceFiles="@(ArchiveFiles)" WorkingDirectory="@(MetaPackageNupkg->'$(_WorkRoot)%(Filename)')" Overwrite="true" />
+  </Target>
+</Project>

+ 4 - 4
build/artifacts.props

@@ -9,7 +9,7 @@
     <PackageArtifact Include="Microsoft.AspNet.Identity.AspNetCoreCompat" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.All" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Antiforgery" Category="ship" Metapackage="true" />
-    <PackageArtifact Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Category="ship" Metapackage="true" />
+    <PackageArtifact Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Category="ship" Metapackage="hostingstartup" />
     <PackageArtifact Include="Microsoft.AspNetCore.Authentication.Abstractions" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Authentication.Cookies" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Authentication.Core" Category="ship" Metapackage="true" />
@@ -23,7 +23,7 @@
     <PackageArtifact Include="Microsoft.AspNetCore.Authentication" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Authorization.Policy" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Authorization" Category="ship" Metapackage="true" />
-    <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Category="ship" Metapackage="true" />
+    <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Category="ship" Metapackage="hostingstartup" />
     <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.SiteExtension" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Buffering" Category="noship" />
@@ -37,7 +37,7 @@
     <PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureStorage" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Extensions" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Redis" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.DataProtection.SystemWeb" Category="ship" Metapackage="true" />
+    <PackageArtifact Include="Microsoft.AspNetCore.DataProtection.SystemWeb" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.DataProtection" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Elm" Category="noship" />
@@ -46,7 +46,7 @@
     <PackageArtifact Include="Microsoft.AspNetCore.Diagnostics" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Hosting.Abstractions" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Category="ship" Metapackage="true" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Hosting.WindowsServices" Category="ship" Metapackage="true" />
+    <PackageArtifact Include="Microsoft.AspNetCore.Hosting.WindowsServices" Category="ship"/>
     <PackageArtifact Include="Microsoft.AspNetCore.Hosting" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Http.Abstractions" Category="ship" Metapackage="true" />
     <PackageArtifact Include="Microsoft.AspNetCore.Http.Extensions" Category="ship" Metapackage="true" />

+ 20 - 0
build/common.props

@@ -0,0 +1,20 @@
+<Project>
+  <Import Project="..\version.props" />
+  <Import Project="dependencies.props" />
+
+  <PropertyGroup>
+    <Product>Microsoft ASP.NET Core</Product>
+    <RepositoryUrl>https://github.com/aspnet/MetaPackages</RepositoryUrl>
+    <RepositoryType>git</RepositoryType>
+    <GenerateUserSecretsAttribute>false</GenerateUserSecretsAttribute>
+    <AssemblyOriginatorKeyFile>..\..\build\Key.snk</AssemblyOriginatorKeyFile>
+    <SignAssembly>true</SignAssembly>
+    <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
+    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Internal.AspNetCore.Sdk" Version="$(InternalAspNetCoreSdkVersion)" PrivateAssets="All" />
+  </ItemGroup>
+
+</Project>

+ 4 - 0
build/dependencies.props

@@ -231,4 +231,8 @@
       <NoWarn>KRB2004</NoWarn>
     </ExternalDependency>
   </ItemGroup>
+  
+  <PropertyGroup>
+    <InternalAspNetCoreSdkVersion>2.0.1-rtm-15400</InternalAspNetCoreSdkVersion>
+  </PropertyGroup>
 </Project>

+ 0 - 1
build/repo.props

@@ -5,5 +5,4 @@
   </PropertyGroup>
 
   <Import Project="artifacts.props" />
-  <Import Project="dependencies.props" />
 </Project>

+ 1 - 1
build/repo.targets

@@ -1,5 +1,6 @@
 <Project>
   <Import Project="RepositoryBuild.targets" />
+  <Import Project="RuntimeStore.targets" />
 
   <PropertyGroup>
     <_CloneRepositoryRoot>$(RepositoryRoot).r\</_CloneRepositoryRoot>
@@ -302,5 +303,4 @@
       <_CloneUrl></_CloneUrl>
     </PropertyGroup>
   </Target>
-
 </Project>

+ 64 - 0
build/tasks/AddMetapackageReferences.cs

@@ -0,0 +1,64 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Linq;
+using System.Xml;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+using RepoTasks.Utilities;
+
+namespace RepoTasks
+{
+    public class AddMetapackageReferences : Task
+    {
+        [Required]
+        public string ReferencePackagePath { get; set; }
+
+        [Required]
+        public ITaskItem[] BuildArtifacts { get; set; }
+
+        [Required]
+        public ITaskItem[] PackageArtifacts { get; set; }
+
+        public override bool Execute()
+        {
+            // Parse input
+            var metapackageArtifacts = PackageArtifacts.Where(p => p.GetMetadata("Metapackage") != "false");
+            var buildArtifacts = BuildArtifacts.Select(ArtifactInfo.Parse)
+                .OfType<ArtifactInfo.Package>()
+                .Where(p => !p.IsSymbolsArtifact);
+
+            var xmlDoc = new XmlDocument();
+            xmlDoc.Load(ReferencePackagePath);
+
+            // Project
+            var projectElement = xmlDoc.FirstChild;
+
+            // Items
+            var itemGroupElement = xmlDoc.CreateElement("ItemGroup");
+            Log.LogMessage(MessageImportance.Normal, $"Runtime store will include the following packages");
+            foreach (var package in metapackageArtifacts)
+            {
+                var packageName = package.GetMetadata("Identity");
+                var packageVersion = buildArtifacts
+                    .Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
+                    .PackageInfo.Version.ToString();
+                Log.LogMessage(MessageImportance.Normal, $" - Package: {packageName} Version: {packageVersion}");
+
+                var packageReferenceElement = xmlDoc.CreateElement("PackageReference");
+                packageReferenceElement.SetAttribute("Include", packageName);
+                packageReferenceElement.SetAttribute("Version", packageVersion);
+
+                itemGroupElement.AppendChild(packageReferenceElement);
+            }
+            projectElement.AppendChild(itemGroupElement);
+
+            // Save updated file
+            xmlDoc.AppendChild(projectElement);
+            xmlDoc.Save(ReferencePackagePath);
+
+            return true;
+        }
+    }
+}

+ 131 - 0
build/tasks/ComposeNewStore.cs

@@ -0,0 +1,131 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Collections.Generic;
+using System.IO;
+using System.Xml;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+    public class ComposeNewStore : Task
+    {
+        [Required]
+        public ITaskItem[] ExistingManifests { get; set; }
+
+        [Required]
+        public ITaskItem[] NewManifests { get; set; }
+
+        [Required]
+        public ITaskItem[] RuntimeStoreFiles { get; set; }
+
+        [Required]
+        public ITaskItem[] RuntimeStoreSymbolFiles { get; set; }
+
+        [Required]
+        public string ManifestDestination { get; set; }
+
+        [Required]
+        public string StoreDestination { get; set; }
+
+        [Required]
+        public string SymbolsDestination { get; set; }
+
+        public override bool Execute()
+        {
+            var existingFiles = new Dictionary<string, HashSet<string>>();
+            var newRuntimeStoreFiles = new List<ITaskItem>();
+            var newRuntimeStoreSymbolFiles = new List<ITaskItem>();
+
+            // Construct database of existing assets
+            foreach (var manifest in ExistingManifests)
+            {
+                var xmlDoc = new XmlDocument();
+                xmlDoc.Load(manifest.GetMetadata("FullPath"));
+                var storeArtifacts = xmlDoc.SelectSingleNode("/StoreArtifacts");
+
+                foreach (XmlNode artifact in storeArtifacts.ChildNodes)
+                {
+                    if (existingFiles.TryGetValue(artifact.Attributes["Id"].Value, out var versions))
+                    {
+                        versions.Add(artifact.Attributes["Version"].Value);
+                    }
+                    else
+                    {
+                        existingFiles[artifact.Attributes["Id"].Value] = new HashSet<string>{ artifact.Attributes["Version"].Value };
+                    }
+                }
+            }
+
+            // Insert new runtime store files
+            foreach (var storeFile in RuntimeStoreFiles)
+            {
+                // format: {bitness}}/{tfm}}/{id}/{version}}/...
+                var recursiveDir = storeFile.GetMetadata("RecursiveDir");
+                var components = recursiveDir.Split(Path.DirectorySeparatorChar);
+                var id = components[2];
+                var version = components[3];
+
+                if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version))
+                {
+                    var destinationDir = Path.Combine(StoreDestination, recursiveDir);
+                    if (!Directory.Exists(Path.Combine(StoreDestination, recursiveDir)))
+                    {
+                        Directory.CreateDirectory(destinationDir);
+                    }
+
+                    File.Copy(storeFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{storeFile.GetMetadata("Filename")}{storeFile.GetMetadata("Extension")}"), overwrite: true);
+                }
+            }
+
+            // Insert new runtime store files
+            foreach (var symbolFile in RuntimeStoreSymbolFiles)
+            {
+                // format: {bitness}}/{tfm}}/{id}/{version}}/...
+                var recursiveDir = symbolFile.GetMetadata("RecursiveDir");
+                var components = recursiveDir.Split(Path.DirectorySeparatorChar);
+                var id = components[2];
+                var version = components[3];
+
+                if (!existingFiles.TryGetValue(id, out var versions) || !versions.Contains(version))
+                {
+                    var destinationDir = Path.Combine(StoreDestination, recursiveDir);
+                    if (!Directory.Exists(Path.Combine(StoreDestination, recursiveDir)))
+                    {
+                        Directory.CreateDirectory(destinationDir);
+                    }
+
+                    File.Copy(symbolFile.GetMetadata("FullPath"), Path.Combine(destinationDir, $"{symbolFile.GetMetadata("Filename")}{symbolFile.GetMetadata("Extension")}"), overwrite: true);
+                }
+            }
+
+            // Purge existing packages from manifest
+            foreach (var newManifest in NewManifests)
+            {
+                var newManifestPath = newManifest.GetMetadata("FullPath");
+                var xmlDoc = new XmlDocument();
+                xmlDoc.Load(newManifestPath);
+                var storeArtifacts = xmlDoc.SelectSingleNode("/StoreArtifacts");
+                var artifactsToRemove = new List<XmlNode>();
+
+                foreach (XmlNode artifact in storeArtifacts.ChildNodes)
+                {
+                    if (existingFiles.TryGetValue(artifact.Attributes["Id"].Value, out var versions) && versions.Contains(artifact.Attributes["Version"].Value))
+                    {
+                        artifactsToRemove.Add(artifact);
+                    }
+                }
+
+                foreach (var artifactToRemove in artifactsToRemove)
+                {
+                    storeArtifacts.RemoveChild(artifactToRemove);
+                }
+
+                xmlDoc.Save(ManifestDestination);
+            }
+
+            return true;
+        }
+    }
+}

+ 57 - 0
build/tasks/ConsolidateManifests.cs

@@ -0,0 +1,57 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Xml;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+    // Takes multiple runtime store manifests and create a consolidated manifest containing all unique entries.
+    public class ConsolidateManifests : Task
+    {
+        [Required]
+        public ITaskItem[] Manifests { get; set; }
+
+        [Required]
+        public string ManifestDestination { get; set; }
+
+        public override bool Execute()
+        {
+            var artifacts = new HashSet<Tuple<string, string>>();
+
+            // Construct database of all artifacts
+            foreach (var manifest in Manifests)
+            {
+                var xmlDoc = new XmlDocument();
+                xmlDoc.Load(manifest.GetMetadata("FullPath"));
+                var storeArtifacts = xmlDoc.SelectSingleNode("/StoreArtifacts");
+
+                foreach (XmlNode artifact in storeArtifacts.ChildNodes)
+                {
+                    artifacts.Add(new Tuple<string, string>(artifact.Attributes["Id"].Value, artifact.Attributes["Version"].Value));
+                }
+            }
+
+
+            var consolidatedXmlDoc = new XmlDocument();
+            var packagesElement = consolidatedXmlDoc.CreateElement("StoreArtifacts");
+
+            foreach (var artifact in artifacts)
+            {
+                var packageElement = consolidatedXmlDoc.CreateElement("Package");
+                packageElement.SetAttribute("Id", artifact.Item1);
+                packageElement.SetAttribute("Version", artifact.Item2);
+
+                packagesElement.AppendChild(packageElement);
+            }
+
+            consolidatedXmlDoc.AppendChild(packagesElement);
+            consolidatedXmlDoc.Save(ManifestDestination);
+
+            return true;
+        }
+    }
+}

+ 61 - 0
build/tasks/CreateCommonManifest.cs

@@ -0,0 +1,61 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Linq;
+using System.Xml;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+    /// <summary>
+    /// Creates a common manifest file used for trimming publish output given a list of packages and package definitions containing their versions.
+    /// </summary>
+    public class CreateCommonManifest : Task
+    {
+        /// <summary>
+        /// The path for the common manifest file to be created.
+        /// </summary>
+        /// <returns></returns>
+        [Required]
+        public string DestinationFilePath { get; set; }
+
+        /// <summary>
+        /// The packages to include in the common manifest file.
+        /// </summary>
+        /// <returns></returns>
+        [Required]
+        public ITaskItem[] Packages { get; set; }
+
+        /// <summary>
+        /// The package definitions used for resolving package versions.
+        /// </summary>
+        /// <returns></returns>
+        [Required]
+        public ITaskItem[] PackageDefinitions { get; set; }
+
+        public override bool Execute()
+        {
+            var xmlDoc = new XmlDocument();
+            var packagesElement = xmlDoc.CreateElement("StoreArtifacts");
+
+            foreach (var package in Packages)
+            {
+                var packageName = package.ItemSpec;
+                var packageElement = xmlDoc.CreateElement("Package");
+                packageElement.SetAttribute("Id", packageName);
+                packageElement.SetAttribute("Version", PackageDefinitions
+                    .Where(p => string.Equals(p.GetMetadata("Name"), packageName, StringComparison.OrdinalIgnoreCase))
+                    .Select(p => p.GetMetadata("Version")).Single());
+
+                packagesElement.AppendChild(packageElement);
+            }
+
+            xmlDoc.AppendChild(packagesElement);
+            xmlDoc.Save(DestinationFilePath);
+
+            return true;
+        }
+    }
+}

+ 1 - 0
build/tasks/RepoTasks.csproj

@@ -7,6 +7,7 @@
 
   <ItemGroup>
     <PackageReference Include="NuGet.Build.Tasks" Version="$(NuGetInMSBuildVersion)" PrivateAssets="All" />
+    <PackageReference Include="Newtonsoft.Json" Version="$(JsonInMSBuildVersion)" />
   </ItemGroup>
 
   <Import Project="$(RepoTasksSdkPath)\Sdk.targets" Condition="'$(RepoTasksSdkPath)' != '' "/>

+ 6 - 0
build/tasks/RepoTasks.tasks

@@ -10,4 +10,10 @@
   <UsingTask TaskName="RepoTasks.GeneratePackageVersionPropsFile" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.GenerateRestoreSourcesPropsFile" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.VerifyCoherentVersions" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.AddMetapackageReferences" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.ResolveHostingStartupPackages" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.TrimDeps" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.CreateCommonManifest" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.ComposeNewStore" AssemblyFile="$(_RepoTaskAssembly)" />
+  <UsingTask TaskName="RepoTasks.ConsolidateManifests" AssemblyFile="$(_RepoTaskAssembly)" />
 </Project>

+ 30 - 0
build/tasks/ResolveHostingStartupPackages.cs

@@ -0,0 +1,30 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+
+namespace RepoTasks
+{
+    public class ResolveHostingStartupPackages : Task
+    {
+        [Required]
+        public ITaskItem[] BuildArtifacts { get; set; }
+
+        [Required]
+        public ITaskItem[] PackageArtifacts { get; set; }
+
+        [Output]
+        public ITaskItem[] HostingStartupArtifacts { get; set; }
+
+        public override bool Execute()
+        {
+            // Parse input
+            var hostingStartupArtifacts = PackageArtifacts.Where(p => p.GetMetadata("Metapackage") == "hostingstartup");
+            HostingStartupArtifacts = BuildArtifacts.Where(p => hostingStartupArtifacts.Any(h => h.GetMetadata("Identity") == p.GetMetadata("PackageId"))).ToArray();
+
+            return true;
+        }
+    }
+}

+ 60 - 0
build/tasks/TrimDeps.cs

@@ -0,0 +1,60 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.IO;
+using System.Linq;
+using Microsoft.Build.Framework;
+using Microsoft.Build.Utilities;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace RepoTasks
+{
+    public class TrimDeps : Task
+    {
+        [Required]
+        public ITaskItem[] DepsFiles { get; set; }
+
+        public override bool Execute()
+        {
+            foreach (var depsFile in DepsFiles)
+            {
+                ChangeEntryPointLibraryName(depsFile.GetMetadata("Identity"));
+            }
+
+            // Parse input
+            return true;
+        }
+
+
+        private void ChangeEntryPointLibraryName(string depsFile)
+        {
+            JToken deps;
+            using (var file = File.OpenText(depsFile))
+            using (JsonTextReader reader = new JsonTextReader(file))
+            {
+                deps = JObject.ReadFrom(reader);
+            }
+
+            foreach (JProperty target in deps["targets"])
+            {
+                var targetLibrary = target.Value.Children<JProperty>().FirstOrDefault();
+                if (targetLibrary == null)
+                {
+                    continue;
+                }
+
+                targetLibrary.Remove();
+            }
+
+            var library = deps["libraries"].Children<JProperty>().First();
+            library.Remove();
+
+            using (var file = File.CreateText(depsFile))
+            using (var writer = new JsonTextWriter(file) { Formatting = Formatting.Indented })
+            {
+                deps.WriteTo(writer);
+            }
+        }
+    }
+}

+ 6 - 0
build/tools/scripts/GetSharedFrameworkVersion.ps1

@@ -0,0 +1,6 @@
+$infoOutput = dotnet --info
+$versions = $infoOutput | Select-String -Pattern "version"
+$FXVersionRaw = $versions | Select-Object -Last 1
+$FXVersionString = $FXVersionRaw.ToString()
+$FXVersion = $FXVersionString.SubString($FXVersionString.IndexOf(':') + 1).Trim()
+Write-Host $FXVersion

+ 2 - 0
build/tools/scripts/GetSharedFrameworkVersion.sh

@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+dotnet --info | grep -i version | tail -1 | cut -f 2 -d ":" | tr -d ' '

+ 20 - 0
build/tools/templates/HostingStartup/HostingStartup.csproj

@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <OutputType>Exe</OutputType>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="$(HostingStartupPackageName)" Version="$(HostingStartupPackageVersion)" PrivateAssets="None" />
+  </ItemGroup>
+
+  <Target Name="CollectDeps">
+    <PropertyGroup>
+      <DepsRuntimeFrameworkVersion Condition="'$(DepsRuntimeFrameworkVersion)' == ''">$(RuntimeFrameworkVersion)</DepsRuntimeFrameworkVersion>
+      <DestinationDepsFile>$(DepsOutputPath)\$(HostingStartupPackageName)\shared\Microsoft.NETCore.App\$(DepsRuntimeFrameworkVersion)\$(HostingStartupPackageName).deps.json</DestinationDepsFile>
+    </PropertyGroup>
+
+    <Copy SourceFiles="$(ProjectDepsFilePath)" DestinationFiles="$(DestinationDepsFile)" />
+  </Target>
+</Project>

+ 7 - 0
build/tools/templates/HostingStartup/Program.cs

@@ -0,0 +1,7 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+public class Program
+{
+    public static void Main() { }
+}

+ 22 - 0
build/tools/templates/RS.Manifest/RS.Manifest.csproj

@@ -0,0 +1,22 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <Import Project="..\build\common.props" />
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+   <PackageReference Include="Microsoft.AspNetCore.All" Version="$(VersionPrefix)-$(VersionSuffix)" />
+  </ItemGroup>
+
+  <Target Name="GetPackageDefinitions" Returns="@(_PackageDefinitions)">
+    <ItemGroup>
+      <ProjectAssetsJson Include="$(MSBuildThisFileDirectory)**\project.assets.json" />
+    </ItemGroup>
+
+    <ResolvePackageDependencies ProjectPath="$(MSBuildThisFileFullPath)" ProjectAssetsFile="@(ProjectAssetsJson)">
+      <Output TaskParameter="PackageDefinitions" ItemName="_PackageDefinitions" />
+    </ResolvePackageDependencies>
+  </Target>
+</Project>

+ 19 - 0
src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj

@@ -0,0 +1,19 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <Import Project="..\..\build\common.props" />
+
+  <PropertyGroup>
+    <IncludeBuildOutput>false</IncludeBuildOutput>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <PackageTags>aspnetcore</PackageTags>
+    <Description>Microsoft.AspNetCore.All</Description>
+    <EnableApiCheck>false</EnableApiCheck>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Content Include="build\**\*.xml" PackagePath="%(Identity)" />
+    <Content Include="build\**\*.targets" PackagePath="%(Identity)" />
+    <Content Include="lib\$(TargetFramework)\_._" PackagePath="%(Identity)" />
+  </ItemGroup>
+
+</Project>

+ 29 - 0
src/Microsoft.AspNetCore.All/build/PublishWithAspNetCoreTargetManifest.targets

@@ -0,0 +1,29 @@
+<Project>
+  <PropertyGroup>
+    <PublishWithAspNetCoreTargetManifest Condition="'$(PublishWithAspNetCoreTargetManifest)'=='' and '$(SelfContained)'=='false' and '$(PublishableProject)'=='true'">true</PublishWithAspNetCoreTargetManifest>
+  </PropertyGroup>
+
+<!--
+******************************************************************************
+Target: PublishWithAspNetCoreTargetManifest
+Error if PublishWithAspNetCoreTargetManifest is set to true for standalone app
+******************************************************************************
+-->
+  <Target
+    Name="PublishWithAspNetCoreTargetManifest"
+    AfterTargets="PrepareForPublish"
+    Condition="'$(PublishWithAspNetCoreTargetManifest)'=='true'" >
+
+    <Error
+      Text="PublishWithAspNetCoreTargetManifest cannot be set to true for self contained apps."
+      Condition="'$(SelfContained)'=='true'" />
+
+    <ItemGroup>
+      <AspNetCoreTargetManifestFiles Include="$(MSBuildThisFileDirectory)aspnetcore-store-*.xml"/>
+    </ItemGroup>
+
+    <PropertyGroup>
+      <TargetManifestFiles>$(TargetManifestFiles);@(AspNetCoreTargetManifestFiles)</TargetManifestFiles>
+    </PropertyGroup>
+  </Target>
+</Project>

+ 3 - 0
src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-common.xml

@@ -0,0 +1,3 @@
+<StoreArtifacts>
+  <Package Id="runtime.win-arm64.runtime.native.system.data.sqlclient.sni" Version="4.4.0" />
+</StoreArtifacts>

+ 171 - 0
src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-linux-x64.xml

@@ -0,0 +1,171 @@
+<StoreArtifacts>
+   <Package Id="libuv"  Version ="1.10.0"/>
+   <Package Id="microsoft.applicationinsights"  Version ="2.4.0"/>
+   <Package Id="microsoft.applicationinsights.aspnetcore"  Version ="2.1.1"/>
+   <Package Id="microsoft.applicationinsights.dependencycollector"  Version ="2.4.1"/>
+   <Package Id="microsoft.aspnetcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.antiforgery"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.applicationinsights.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.cookies"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.facebook"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.google"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.jwtbearer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.microsoftaccount"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.oauth"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.openidconnect"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.twitter"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization.policy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservices.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservicesintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cookiepolicy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.internal"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.keyderivation"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.azurestorage"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.server.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.html.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.features"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.httpoverrides"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.jsonpatch"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.middlewareanalysis"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.apiexplorer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.dataannotations"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razorpages"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.taghelpers"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.viewfeatures"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.nodeservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.owin"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.language"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.runtime"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecompression"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.rewrite"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.httpsys"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.iisintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.https"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.libuv"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.session"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.spaservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.staticfiles"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.websockets"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.webutilities"  Version ="2.0.0"/>
+   <Package Id="microsoft.azure.keyvault"  Version ="2.3.2"/>
+   <Package Id="microsoft.azure.keyvault.webkey"  Version ="2.0.7"/>
+   <Package Id="microsoft.codeanalysis.common"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.csharp"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.data.edm"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.odata"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.dotnet.platformabstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.design"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.inmemory"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.relational"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.memory"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.redis"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.azurekeyvault"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.binder"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.commandline"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.environmentvariables"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.fileextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.ini"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.usersecrets"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencymodel"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.diagnosticadapter"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.composite"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.embedded"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.physical"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.filesystemglobbing"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.stores"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.azureappservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.console"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.debug"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.eventsource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.tracesource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.objectpool"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options.configurationextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.platformabstractions"  Version ="1.1.0"/>
+   <Package Id="microsoft.extensions.primitives"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.webencoders"  Version ="2.0.0"/>
+   <Package Id="microsoft.identitymodel.clients.activedirectory"  Version ="3.14.1"/>
+   <Package Id="microsoft.identitymodel.logging"  Version ="1.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols.openidconnect"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.tokens"  Version ="5.1.4"/>
+   <Package Id="microsoft.net.http.headers"  Version ="2.0.0"/>
+   <Package Id="microsoft.rest.clientruntime"  Version ="2.3.8"/>
+   <Package Id="microsoft.rest.clientruntime.azure"  Version ="3.3.7"/>
+   <Package Id="microsoft.visualstudio.web.browserlink"  Version ="2.0.0"/>
+   <Package Id="newtonsoft.json"  Version ="10.0.1"/>
+   <Package Id="newtonsoft.json.bson"  Version ="1.0.1"/>
+   <Package Id="remotion.linq"  Version ="2.1.1"/>
+   <Package Id="sqlitepclraw.bundle_green"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.core"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.lib.e_sqlite3.linux"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.provider.e_sqlite3.netstandard11"  Version ="1.1.7"/>
+   <Package Id="stackexchange.redis.strongname"  Version ="1.2.4"/>
+   <Package Id="system.data.sqlclient"  Version ="4.4.0"/>
+   <Package Id="system.identitymodel.tokens.jwt"  Version ="5.1.4"/>
+   <Package Id="system.interactive.async"  Version ="3.1.1"/>
+   <Package Id="system.runtime.compilerservices.unsafe"  Version ="4.4.0"/>
+   <Package Id="system.security.cryptography.xml"  Version ="4.4.0"/>
+   <Package Id="system.spatial"  Version ="5.8.2"/>
+   <Package Id="system.text.encoding.codepages"  Version ="4.4.0"/>
+   <Package Id="system.text.encodings.web"  Version ="4.4.0"/>
+   <Package Id="windowsazure.storage"  Version ="8.1.4"/>
+</StoreArtifacts>

+ 171 - 0
src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-osx-x64.xml

@@ -0,0 +1,171 @@
+<StoreArtifacts>
+   <Package Id="libuv"  Version ="1.10.0"/>
+   <Package Id="microsoft.applicationinsights"  Version ="2.4.0"/>
+   <Package Id="microsoft.applicationinsights.aspnetcore"  Version ="2.1.1"/>
+   <Package Id="microsoft.applicationinsights.dependencycollector"  Version ="2.4.1"/>
+   <Package Id="microsoft.aspnetcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.antiforgery"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.applicationinsights.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.cookies"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.facebook"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.google"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.jwtbearer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.microsoftaccount"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.oauth"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.openidconnect"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.twitter"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization.policy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservices.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservicesintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cookiepolicy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.internal"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.keyderivation"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.azurestorage"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.server.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.html.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.features"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.httpoverrides"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.jsonpatch"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.middlewareanalysis"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.apiexplorer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.dataannotations"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razorpages"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.taghelpers"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.viewfeatures"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.nodeservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.owin"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.language"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.runtime"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecompression"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.rewrite"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.httpsys"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.iisintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.https"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.libuv"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.session"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.spaservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.staticfiles"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.websockets"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.webutilities"  Version ="2.0.0"/>
+   <Package Id="microsoft.azure.keyvault"  Version ="2.3.2"/>
+   <Package Id="microsoft.azure.keyvault.webkey"  Version ="2.0.7"/>
+   <Package Id="microsoft.codeanalysis.common"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.csharp"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.data.edm"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.odata"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.dotnet.platformabstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.design"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.inmemory"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.relational"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.memory"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.redis"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.azurekeyvault"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.binder"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.commandline"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.environmentvariables"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.fileextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.ini"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.usersecrets"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencymodel"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.diagnosticadapter"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.composite"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.embedded"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.physical"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.filesystemglobbing"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.stores"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.azureappservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.console"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.debug"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.eventsource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.tracesource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.objectpool"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options.configurationextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.platformabstractions"  Version ="1.1.0"/>
+   <Package Id="microsoft.extensions.primitives"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.webencoders"  Version ="2.0.0"/>
+   <Package Id="microsoft.identitymodel.clients.activedirectory"  Version ="3.14.1"/>
+   <Package Id="microsoft.identitymodel.logging"  Version ="1.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols.openidconnect"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.tokens"  Version ="5.1.4"/>
+   <Package Id="microsoft.net.http.headers"  Version ="2.0.0"/>
+   <Package Id="microsoft.rest.clientruntime"  Version ="2.3.8"/>
+   <Package Id="microsoft.rest.clientruntime.azure"  Version ="3.3.7"/>
+   <Package Id="microsoft.visualstudio.web.browserlink"  Version ="2.0.0"/>
+   <Package Id="newtonsoft.json"  Version ="10.0.1"/>
+   <Package Id="newtonsoft.json.bson"  Version ="1.0.1"/>
+   <Package Id="remotion.linq"  Version ="2.1.1"/>
+   <Package Id="sqlitepclraw.bundle_green"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.core"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.lib.e_sqlite3.osx"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.provider.e_sqlite3.netstandard11"  Version ="1.1.7"/>
+   <Package Id="stackexchange.redis.strongname"  Version ="1.2.4"/>
+   <Package Id="system.data.sqlclient"  Version ="4.4.0"/>
+   <Package Id="system.identitymodel.tokens.jwt"  Version ="5.1.4"/>
+   <Package Id="system.interactive.async"  Version ="3.1.1"/>
+   <Package Id="system.runtime.compilerservices.unsafe"  Version ="4.4.0"/>
+   <Package Id="system.security.cryptography.xml"  Version ="4.4.0"/>
+   <Package Id="system.spatial"  Version ="5.8.2"/>
+   <Package Id="system.text.encoding.codepages"  Version ="4.4.0"/>
+   <Package Id="system.text.encodings.web"  Version ="4.4.0"/>
+   <Package Id="windowsazure.storage"  Version ="8.1.4"/>
+</StoreArtifacts>

+ 172 - 0
src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x64.xml

@@ -0,0 +1,172 @@
+<StoreArtifacts>
+   <Package Id="libuv"  Version ="1.10.0"/>
+   <Package Id="microsoft.applicationinsights"  Version ="2.4.0"/>
+   <Package Id="microsoft.applicationinsights.aspnetcore"  Version ="2.1.1"/>
+   <Package Id="microsoft.applicationinsights.dependencycollector"  Version ="2.4.1"/>
+   <Package Id="microsoft.aspnetcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.antiforgery"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.applicationinsights.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.cookies"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.facebook"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.google"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.jwtbearer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.microsoftaccount"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.oauth"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.openidconnect"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.twitter"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization.policy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservices.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservicesintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cookiepolicy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.internal"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.keyderivation"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.azurestorage"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.server.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.html.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.features"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.httpoverrides"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.jsonpatch"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.middlewareanalysis"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.apiexplorer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.dataannotations"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razorpages"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.taghelpers"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.viewfeatures"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.nodeservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.owin"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.language"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.runtime"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecompression"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.rewrite"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.httpsys"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.iisintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.https"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.libuv"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.session"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.spaservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.staticfiles"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.websockets"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.webutilities"  Version ="2.0.0"/>
+   <Package Id="microsoft.azure.keyvault"  Version ="2.3.2"/>
+   <Package Id="microsoft.azure.keyvault.webkey"  Version ="2.0.7"/>
+   <Package Id="microsoft.codeanalysis.common"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.csharp"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.data.edm"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.odata"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.dotnet.platformabstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.design"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.inmemory"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.relational"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.memory"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.redis"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.azurekeyvault"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.binder"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.commandline"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.environmentvariables"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.fileextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.ini"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.usersecrets"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencymodel"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.diagnosticadapter"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.composite"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.embedded"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.physical"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.filesystemglobbing"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.stores"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.azureappservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.console"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.debug"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.eventsource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.tracesource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.objectpool"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options.configurationextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.platformabstractions"  Version ="1.1.0"/>
+   <Package Id="microsoft.extensions.primitives"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.webencoders"  Version ="2.0.0"/>
+   <Package Id="microsoft.identitymodel.clients.activedirectory"  Version ="3.14.1"/>
+   <Package Id="microsoft.identitymodel.logging"  Version ="1.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols.openidconnect"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.tokens"  Version ="5.1.4"/>
+   <Package Id="microsoft.net.http.headers"  Version ="2.0.0"/>
+   <Package Id="microsoft.rest.clientruntime"  Version ="2.3.8"/>
+   <Package Id="microsoft.rest.clientruntime.azure"  Version ="3.3.7"/>
+   <Package Id="microsoft.visualstudio.web.browserlink"  Version ="2.0.0"/>
+   <Package Id="newtonsoft.json"  Version ="10.0.1"/>
+   <Package Id="newtonsoft.json.bson"  Version ="1.0.1"/>
+   <Package Id="remotion.linq"  Version ="2.1.1"/>
+   <Package Id="runtime.win-x64.runtime.native.system.data.sqlclient.sni"  Version ="4.4.0"/>
+   <Package Id="sqlitepclraw.bundle_green"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.core"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.lib.e_sqlite3.v110_xp"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.provider.e_sqlite3.netstandard11"  Version ="1.1.7"/>
+   <Package Id="stackexchange.redis.strongname"  Version ="1.2.4"/>
+   <Package Id="system.data.sqlclient"  Version ="4.4.0"/>
+   <Package Id="system.identitymodel.tokens.jwt"  Version ="5.1.4"/>
+   <Package Id="system.interactive.async"  Version ="3.1.1"/>
+   <Package Id="system.runtime.compilerservices.unsafe"  Version ="4.4.0"/>
+   <Package Id="system.security.cryptography.xml"  Version ="4.4.0"/>
+   <Package Id="system.spatial"  Version ="5.8.2"/>
+   <Package Id="system.text.encoding.codepages"  Version ="4.4.0"/>
+   <Package Id="system.text.encodings.web"  Version ="4.4.0"/>
+   <Package Id="windowsazure.storage"  Version ="8.1.4"/>
+</StoreArtifacts>

+ 172 - 0
src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x86.xml

@@ -0,0 +1,172 @@
+<StoreArtifacts>
+   <Package Id="libuv"  Version ="1.10.0"/>
+   <Package Id="microsoft.applicationinsights"  Version ="2.4.0"/>
+   <Package Id="microsoft.applicationinsights.aspnetcore"  Version ="2.1.1"/>
+   <Package Id="microsoft.applicationinsights.dependencycollector"  Version ="2.4.1"/>
+   <Package Id="microsoft.aspnetcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.antiforgery"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.applicationinsights.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.cookies"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.facebook"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.google"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.jwtbearer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.microsoftaccount"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.oauth"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.openidconnect"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authentication.twitter"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.authorization.policy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservices.hostingstartup"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.azureappservicesintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cookiepolicy"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.internal"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.cryptography.keyderivation"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.azurestorage"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.dataprotection.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.diagnostics.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.hosting.server.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.html.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.http.features"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.httpoverrides"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.identity.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.jsonpatch"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.localization.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.middlewareanalysis"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.apiexplorer"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.cors"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.dataannotations"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.formatters.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razor.extensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.razorpages"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.taghelpers"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.mvc.viewfeatures"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.nodeservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.owin"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.language"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.razor.runtime"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecaching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.responsecompression"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.rewrite"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.routing.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.httpsys"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.iisintegration"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.https"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.server.kestrel.transport.libuv"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.session"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.spaservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.staticfiles"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.websockets"  Version ="2.0.0"/>
+   <Package Id="microsoft.aspnetcore.webutilities"  Version ="2.0.0"/>
+   <Package Id="microsoft.azure.keyvault"  Version ="2.3.2"/>
+   <Package Id="microsoft.azure.keyvault.webkey"  Version ="2.0.7"/>
+   <Package Id="microsoft.codeanalysis.common"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.csharp"  Version ="2.3.1"/>
+   <Package Id="microsoft.codeanalysis.razor"  Version ="2.0.0"/>
+   <Package Id="microsoft.data.edm"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.odata"  Version ="5.8.2"/>
+   <Package Id="microsoft.data.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.dotnet.platformabstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.design"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.inmemory"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.relational"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlite.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.entityframeworkcore.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.memory"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.redis"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.caching.sqlserver"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.azurekeyvault"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.binder"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.commandline"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.environmentvariables"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.fileextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.ini"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.json"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.usersecrets"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.configuration.xml"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencyinjection.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.dependencymodel"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.diagnosticadapter"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.composite"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.embedded"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.fileproviders.physical"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.filesystemglobbing"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.hosting.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.core"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.identity.stores"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.localization.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.abstractions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.azureappservices"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.configuration"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.console"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.debug"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.eventsource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.logging.tracesource"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.objectpool"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.options.configurationextensions"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.platformabstractions"  Version ="1.1.0"/>
+   <Package Id="microsoft.extensions.primitives"  Version ="2.0.0"/>
+   <Package Id="microsoft.extensions.webencoders"  Version ="2.0.0"/>
+   <Package Id="microsoft.identitymodel.clients.activedirectory"  Version ="3.14.1"/>
+   <Package Id="microsoft.identitymodel.logging"  Version ="1.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.protocols.openidconnect"  Version ="2.1.4"/>
+   <Package Id="microsoft.identitymodel.tokens"  Version ="5.1.4"/>
+   <Package Id="microsoft.net.http.headers"  Version ="2.0.0"/>
+   <Package Id="microsoft.rest.clientruntime"  Version ="2.3.8"/>
+   <Package Id="microsoft.rest.clientruntime.azure"  Version ="3.3.7"/>
+   <Package Id="microsoft.visualstudio.web.browserlink"  Version ="2.0.0"/>
+   <Package Id="newtonsoft.json"  Version ="10.0.1"/>
+   <Package Id="newtonsoft.json.bson"  Version ="1.0.1"/>
+   <Package Id="remotion.linq"  Version ="2.1.1"/>
+   <Package Id="runtime.win-x86.runtime.native.system.data.sqlclient.sni"  Version ="4.4.0"/>
+   <Package Id="sqlitepclraw.bundle_green"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.core"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.lib.e_sqlite3.v110_xp"  Version ="1.1.7"/>
+   <Package Id="sqlitepclraw.provider.e_sqlite3.netstandard11"  Version ="1.1.7"/>
+   <Package Id="stackexchange.redis.strongname"  Version ="1.2.4"/>
+   <Package Id="system.data.sqlclient"  Version ="4.4.0"/>
+   <Package Id="system.identitymodel.tokens.jwt"  Version ="5.1.4"/>
+   <Package Id="system.interactive.async"  Version ="3.1.1"/>
+   <Package Id="system.runtime.compilerservices.unsafe"  Version ="4.4.0"/>
+   <Package Id="system.security.cryptography.xml"  Version ="4.4.0"/>
+   <Package Id="system.spatial"  Version ="5.8.2"/>
+   <Package Id="system.text.encoding.codepages"  Version ="4.4.0"/>
+   <Package Id="system.text.encodings.web"  Version ="4.4.0"/>
+   <Package Id="windowsazure.storage"  Version ="8.1.4"/>
+</StoreArtifacts>

+ 3 - 0
src/Microsoft.AspNetCore.All/build/netcoreapp2.0/Microsoft.AspNetCore.All.targets

@@ -0,0 +1,3 @@
+<Project>
+  <Import Project="$(MSBuildThisFileDirectory)..\PublishWithAspNetCoreTargetManifest.targets" />
+</Project>

+ 0 - 0
src/Microsoft.AspNetCore.All/lib/netcoreapp2.0/_._