diff --git a/.gitignore b/.gitignore index 9aed881a4b..a68780e24f 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ node_modules .build .nuget .r +.w .deps global.json korebuild-lock.txt diff --git a/NuGet.Config b/NuGet.Config index cbeb8fa20d..c4bc056c4d 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -3,6 +3,7 @@ + - + \ No newline at end of file diff --git a/build/Key.snk b/build/Key.snk new file mode 100644 index 0000000000..e10e4889c1 Binary files /dev/null and b/build/Key.snk differ diff --git a/build/RuntimeStore.targets b/build/RuntimeStore.targets new file mode 100644 index 0000000000..599882ca5e --- /dev/null +++ b/build/RuntimeStore.targets @@ -0,0 +1,191 @@ + + + + + <_DependencyBuildDirectory>$(RepositoryRoot).deps\build\ + <_BuildScriptsDirectory>$(MSBuildThisFileDirectory)tools\scripts\ + <_WorkRoot>$(RepositoryRoot).w\ + <_RuntimeStoreWorkDirectory>$(_WorkRoot).rw\ + <_RuntimeStoreOutputDirectory>$(_WorkRoot).ro\ + <_TemplatesDirectory>$(MSBuildThisFileDirectory)tools\templates\ + <_SrcDirectory>$(RepositoryRoot)src\ + <_AllMetapackageDirectory>$(_SrcDirectory)Microsoft.AspNetCore.All\ + <_ExistingManifestsDirectory>$(_AllMetapackageDirectory)build\ + <_ArtifactsZipDirectory>$(ArtifactsDir)zip\ + <_StoreZipDirectory>$(_ArtifactsZipDirectory)rs\ + <_SymbolsZipDirectory>$(_ArtifactsZipDirectory)symbols\ + <_DepsOutputDirectory>$(ArtifactsDir)deps\ + + + + + + + + + $(_WorkRoot)Microsoft.AspNetCore.All\ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + win7-$(RuntimeStoreArch) + linux-$(RuntimeStoreArch) + osx-$(RuntimeStoreArch) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(ArtifactsDir)aspnetcore-store-$(VersionPrefix)-$(VersionSuffix)-$(RuntimeStoreRID).zip + $(ArtifactsDir)aspnetcore-symbols-$(VersionPrefix)-$(VersionSuffix)-$(RuntimeStoreRID).zip + + + + + + + + + + + + + + + + + + + + + + + + + + + + + aspnetcore-store-$(VersionPrefix)-$(VersionSuffix)-common.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/artifacts.props b/build/artifacts.props index 4ff91c3429..5aee8bffa3 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -9,7 +9,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -46,7 +46,7 @@ - + diff --git a/build/common.props b/build/common.props new file mode 100644 index 0000000000..f7b678dcf2 --- /dev/null +++ b/build/common.props @@ -0,0 +1,20 @@ + + + + + + Microsoft ASP.NET Core + https://github.com/aspnet/MetaPackages + git + false + ..\..\build\Key.snk + true + true + true + + + + + + + \ No newline at end of file diff --git a/build/dependencies.props b/build/dependencies.props index 63a64327c9..f0452cf9db 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -231,4 +231,8 @@ KRB2004 + + + 2.0.1-rtm-15400 + diff --git a/build/repo.props b/build/repo.props index 63a8d665d0..a98645c000 100644 --- a/build/repo.props +++ b/build/repo.props @@ -5,5 +5,4 @@ - diff --git a/build/repo.targets b/build/repo.targets index fde013f088..e7e6c89de6 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -1,5 +1,6 @@ + <_CloneRepositoryRoot>$(RepositoryRoot).r\ @@ -302,5 +303,4 @@ <_CloneUrl> - diff --git a/build/tasks/AddMetapackageReferences.cs b/build/tasks/AddMetapackageReferences.cs new file mode 100644 index 0000000000..3db68880cc --- /dev/null +++ b/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() + .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; + } + } +} diff --git a/build/tasks/ComposeNewStore.cs b/build/tasks/ComposeNewStore.cs new file mode 100644 index 0000000000..1694f5ef25 --- /dev/null +++ b/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>(); + var newRuntimeStoreFiles = new List(); + var newRuntimeStoreSymbolFiles = new List(); + + // 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{ 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(); + + 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; + } + } +} diff --git a/build/tasks/ConsolidateManifests.cs b/build/tasks/ConsolidateManifests.cs new file mode 100644 index 0000000000..12838855a6 --- /dev/null +++ b/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>(); + + // 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(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; + } + } +} diff --git a/build/tasks/CreateCommonManifest.cs b/build/tasks/CreateCommonManifest.cs new file mode 100644 index 0000000000..5a412fa8e9 --- /dev/null +++ b/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 +{ + /// + /// Creates a common manifest file used for trimming publish output given a list of packages and package definitions containing their versions. + /// + public class CreateCommonManifest : Task + { + /// + /// The path for the common manifest file to be created. + /// + /// + [Required] + public string DestinationFilePath { get; set; } + + /// + /// The packages to include in the common manifest file. + /// + /// + [Required] + public ITaskItem[] Packages { get; set; } + + /// + /// The package definitions used for resolving package versions. + /// + /// + [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; + } + } +} diff --git a/build/tasks/RepoTasks.csproj b/build/tasks/RepoTasks.csproj index 39574ccdb1..a52ecec4f4 100644 --- a/build/tasks/RepoTasks.csproj +++ b/build/tasks/RepoTasks.csproj @@ -7,6 +7,7 @@ + diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks index 4990d23c33..5dda060bf5 100644 --- a/build/tasks/RepoTasks.tasks +++ b/build/tasks/RepoTasks.tasks @@ -10,4 +10,10 @@ + + + + + + diff --git a/build/tasks/ResolveHostingStartupPackages.cs b/build/tasks/ResolveHostingStartupPackages.cs new file mode 100644 index 0000000000..0d5b0838f4 --- /dev/null +++ b/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; + } + } +} diff --git a/build/tasks/TrimDeps.cs b/build/tasks/TrimDeps.cs new file mode 100644 index 0000000000..b63bdb35cc --- /dev/null +++ b/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().FirstOrDefault(); + if (targetLibrary == null) + { + continue; + } + + targetLibrary.Remove(); + } + + var library = deps["libraries"].Children().First(); + library.Remove(); + + using (var file = File.CreateText(depsFile)) + using (var writer = new JsonTextWriter(file) { Formatting = Formatting.Indented }) + { + deps.WriteTo(writer); + } + } + } +} diff --git a/build/tools/scripts/GetSharedFrameworkVersion.ps1 b/build/tools/scripts/GetSharedFrameworkVersion.ps1 new file mode 100644 index 0000000000..37772625fe --- /dev/null +++ b/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 diff --git a/build/tools/scripts/GetSharedFrameworkVersion.sh b/build/tools/scripts/GetSharedFrameworkVersion.sh new file mode 100755 index 0000000000..dee9ea2db8 --- /dev/null +++ b/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 ' ' \ No newline at end of file diff --git a/build/tools/templates/HostingStartup/HostingStartup.csproj b/build/tools/templates/HostingStartup/HostingStartup.csproj new file mode 100644 index 0000000000..dbb96336d5 --- /dev/null +++ b/build/tools/templates/HostingStartup/HostingStartup.csproj @@ -0,0 +1,20 @@ + + + + netcoreapp2.0 + Exe + + + + + + + + + $(RuntimeFrameworkVersion) + $(DepsOutputPath)\$(HostingStartupPackageName)\shared\Microsoft.NETCore.App\$(DepsRuntimeFrameworkVersion)\$(HostingStartupPackageName).deps.json + + + + + diff --git a/build/tools/templates/HostingStartup/Program.cs b/build/tools/templates/HostingStartup/Program.cs new file mode 100644 index 0000000000..8cd3c0026c --- /dev/null +++ b/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() { } +} \ No newline at end of file diff --git a/build/tools/templates/RS.Manifest/RS.Manifest.csproj b/build/tools/templates/RS.Manifest/RS.Manifest.csproj new file mode 100644 index 0000000000..0e9d1c5186 --- /dev/null +++ b/build/tools/templates/RS.Manifest/RS.Manifest.csproj @@ -0,0 +1,22 @@ + + + + + + netcoreapp2.0 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj new file mode 100644 index 0000000000..bdbf65814c --- /dev/null +++ b/src/Microsoft.AspNetCore.All/Microsoft.AspNetCore.All.csproj @@ -0,0 +1,19 @@ + + + + + + false + netcoreapp2.0 + aspnetcore + Microsoft.AspNetCore.All + false + + + + + + + + + diff --git a/src/Microsoft.AspNetCore.All/build/PublishWithAspNetCoreTargetManifest.targets b/src/Microsoft.AspNetCore.All/build/PublishWithAspNetCoreTargetManifest.targets new file mode 100644 index 0000000000..a590cf01f1 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/PublishWithAspNetCoreTargetManifest.targets @@ -0,0 +1,29 @@ + + + true + + + + + + + + + + + + + $(TargetManifestFiles);@(AspNetCoreTargetManifestFiles) + + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-common.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-common.xml new file mode 100755 index 0000000000..3b0c4bda7c --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-common.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-linux-x64.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-linux-x64.xml new file mode 100755 index 0000000000..e548a00368 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-linux-x64.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-osx-x64.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-osx-x64.xml new file mode 100755 index 0000000000..369db3ef5b --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-osx-x64.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x64.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x64.xml new file mode 100755 index 0000000000..0155a8e72c --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x64.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x86.xml b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x86.xml new file mode 100755 index 0000000000..362dab9895 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/aspnetcore-store-2.0.0-win7-x86.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Microsoft.AspNetCore.All/build/netcoreapp2.0/Microsoft.AspNetCore.All.targets b/src/Microsoft.AspNetCore.All/build/netcoreapp2.0/Microsoft.AspNetCore.All.targets new file mode 100644 index 0000000000..0bed51f606 --- /dev/null +++ b/src/Microsoft.AspNetCore.All/build/netcoreapp2.0/Microsoft.AspNetCore.All.targets @@ -0,0 +1,3 @@ + + + diff --git a/src/Microsoft.AspNetCore.All/lib/netcoreapp2.0/_._ b/src/Microsoft.AspNetCore.All/lib/netcoreapp2.0/_._ new file mode 100644 index 0000000000..e69de29bb2