Build and pack Runtime Store

- Also add targets to build all metapackage.
This commit is contained in:
= 2017-09-21 01:09:13 -07:00 committed by John Luo
parent c3c8919523
commit 11b25e7c87
31 changed files with 1430 additions and 7 deletions

1
.gitignore vendored
View File

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

View File

@ -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 Normal file

Binary file not shown.

191
build/RuntimeStore.targets Normal file
View File

@ -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>

View File

@ -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
build/common.props Normal file
View File

@ -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>

View File

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

View File

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

View File

@ -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>

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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;
}
}
}

View File

@ -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)' != '' "/>

View File

@ -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>

View File

@ -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
build/tasks/TrimDeps.cs Normal file
View File

@ -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);
}
}
}
}

View File

@ -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

View File

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

View File

@ -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>

View File

@ -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() { }
}

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

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