Produce aspnetcore shared framework

This commit is contained in:
John Luo 2017-11-10 17:26:40 -08:00
parent 5818f44d01
commit e0daa126e2
28 changed files with 710 additions and 1217 deletions

View File

@ -47,7 +47,7 @@
<MSBuild
Projects="$(_WorkRoot)Archive.csproj"
Targets="Restore"
Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp20PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true" />
Properties="RestorePackagesPath=$(FallbackStagingDir);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp21PackageVersion);DotNetRestoreSourcePropsPath=$(GeneratedFallbackRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true" />
<!-- Create the archive -->
<Exec Command="$(ArchiverPath) -a $(FallbackOutputPath) $(FallbackStagingDir)" />

View File

@ -1,6 +1,4 @@
<Project>
<Import Project="common.props" />
<PropertyGroup>
<_BuildScriptsDirectory>$(MSBuildThisFileDirectory)tools\scripts\</_BuildScriptsDirectory>
<_WorkRoot>$(RepositoryRoot).w\</_WorkRoot>

View File

@ -1,468 +0,0 @@
<Project>
<PropertyGroup>
<_TemplatesDirectory>$(MSBuildThisFileDirectory)tools\templates\</_TemplatesDirectory>
<_DockerDir>$(MSBuildThisFileDirectory)tools\docker\</_DockerDir>
<_PackagingDir>$(MSBuildThisFileDirectory)tools\packaging\</_PackagingDir>
<_DebToolDir>$(MSBuildThisFileDirectory)tools\dotnet-deb-tool-consumer\</_DebToolDir>
<_RuntimeStoreSource>$(RepositoryRoot).deps\Signed\Store\</_RuntimeStoreSource>
<_InstallerSource>$(RepositoryRoot).deps\Installers\</_InstallerSource>
<_WorkRoot>$(RepositoryRoot).w\</_WorkRoot>
<_WorkLayoutDir>$(_WorkRoot).l\</_WorkLayoutDir>
<_WorkOutputDir>$(_WorkRoot).o\</_WorkOutputDir>
<_DockerRootDirectory>/opt/code/</_DockerRootDirectory>
<_InstallersOutputDir>$(ArtifactsDir)installers\</_InstallersOutputDir>
<RSInstallerName>aspnetcore-store</RSInstallerName>
<HostingInstallerName>dotnet-hosting</HostingInstallerName>
<HostingArchiveName>$(HostingInstallerName)-$(PackageVersion)-linux-x64.tar.gz</HostingArchiveName>
<RSDebConfigFile>$(_PackagingDir)store_debian_config.json</RSDebConfigFile>
<HostingDebConfigFile>$(_PackagingDir)hosting_debian_config.json</HostingDebConfigFile>
<PublicCoreFeedPrefix>https://dotnetcli.blob.core.windows.net/dotnet</PublicCoreFeedPrefix>
<CoreFeedPrefix Condition="'$(KOREBUILD_DOTNET_FEED_UNCACHED)'!=''">$(KOREBUILD_DOTNET_FEED_UNCACHED)</CoreFeedPrefix>
<CoreFeedPrefix Condition="'$(CoreFeedPrefix)'==''">$(PublicCoreFeedPrefix)</CoreFeedPrefix>
<RuntimeStore200LinkPrefix>$(PublicCoreFeedPrefix)/aspnetcore/store/2.0.0-26452/Build.RS.</RuntimeStore200LinkPrefix>
<RuntimeTargzLink>$(CoreFeedPrefix)/Runtime/$(MicrosoftNETCoreApp20PackageVersion)/dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz</RuntimeTargzLink>
<RuntimeStoreArchivePrefix>$(_RuntimeStoreSource)aspnetcore-store-$(PackageVersion)-</RuntimeStoreArchivePrefix>
<RuntimeStoreLinuxArchiveFilePath>$(RuntimeStoreArchivePrefix)linux-x64.tar.gz</RuntimeStoreLinuxArchiveFilePath>
</PropertyGroup>
<Target Name="BuildInstallers" DependsOnTargets="GenerateTargzs;GenerateRpms;GenerateDebs;GenerateRelabledInstallers" />
<Target Name="_EnsureInstallerPrerequisites">
<MakeDir Directories="$(_InstallersOutputDir)" />
<!-- Check Docker server OS -->
<Exec Command="docker version -f &quot;{{.Server.Os}}&quot;" StandardOutputImportance="Normal" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="DockerHostOS" />
</Exec>
<Error Text="Docker host must be using Linux containers." Condition="'$(DockerHostOS)' != 'linux'"/>
<Error
Text="Linux archive not found. Expected it to exist in $(RuntimeStoreLinuxArchiveFilePath)."
Condition="!Exists('$(RuntimeStoreLinuxArchiveFilePath)')" />
</Target>
<Target Name="_EnsureInstallerDirectory" >
<!-- Download dotnet installers -->
<MakeDir Directories="$(_InstallerSource)" />
</Target>
<Target Name="_DownloadInstallers" DependsOnTargets="_EnsureInstallerDirectory">
<!-- Download dotnet installers -->
<MakeDir Directories="$(_InstallerSource)" />
<!--
Note: KOREBUILD_DOTNET_FEED_CREDENTIAL is intentionally NOT an MSBuild variable.
MSBuild doesn't to the substitution correctly because the string contains %,
so we'll let bash do it instead.
-->
<Exec Command="curl --fail -sSL &quot;$(RuntimeTargzLink)$KOREBUILD_DOTNET_FEED_CREDENTIAL&quot; -o $(_InstallerSource)dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)linux.tar.gz&quot; -o $(_InstallerSource)Build.RS.linux.tar.gz" />
</Target>
<Target Name="_GenerateTargz">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Aspnet Hosting Bundle -->
<Exec Command="tar -xzf $(RSArchive) -C $(_WorkRoot)" />
<ItemGroup>
<Archives Include="$(DependentArchives)" />
</ItemGroup>
<Exec Command="tar -xzf %(Archives.Identity) -C $(_WorkRoot)" />
<!-- Create Aspnet Hosting Bundle tar.gz -->
<Exec Command="tar -czvf $(_InstallersOutputDir)$(OutputArchiveName) ." WorkingDirectory="$(_WorkRoot)"/>
</Target>
<Target Name="_GenerateZip">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout -->
<UnzipArchive File="$(RSArchive)" Destination="$(_WorkRoot)" />
<ItemGroup>
<Archives Include="$(DependentArchives)" />
</ItemGroup>
<UnzipArchive File="%(Archives.Identity)" Destination="$(_WorkRoot)" />
<ItemGroup>
<ArchiveFiles Include="$(_WorkRoot)**\*" />
</ItemGroup>
<!-- Create Zip -->
<ZipArchive File="$(_InstallersOutputDir)$(OutputArchiveName)" SourceFiles="@(ArchiveFiles)" WorkingDirectory="$(_WorkRoot)" Overwrite="true" />
</Target>
<Target Name="GenerateTargzs" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
<ItemGroup>
<_DependentArchives Include="$(_InstallerSource)dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)-linux-x64.tar.gz" />
<_DependentArchives Include="$(_InstallerSource)Build.RS.linux.tar.gz" />
</ItemGroup>
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateTargz"
Properties="DependentArchives=@(_DependentArchives);RSArchive=$(RuntimeStoreLinuxArchiveFilePath);OutputArchiveName=$(HostingArchiveName)" />
</Target>
<Target Name="_DownloadAdditionalRSZips" DependsOnTargets="_EnsureInstallerDirectory;_DownloadInstallers">
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)osx.tar.gz&quot; -o $(_InstallerSource)Build.RS.osx.tar.gz" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)winx64.zip&quot; -o $(_InstallerSource)Build.RS.winx64.zip" />
<Exec Command="curl --fail -sSL &quot;$(RuntimeStore200LinkPrefix)winx86.zip&quot; -o $(_InstallerSource)Build.RS.winx86.zip" />
</Target>
<Target Name="GenerateCumulativeArchives" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadAdditionalRSZips">
<!-- Temporary: Generate time stamp free cumulative zips with old naming scheme -->
<ItemGroup>
<TargzArchives Include="Build.RS.linux.tar.gz">
<RSArchive>$(RuntimeStoreArchivePrefix)linux-x64.tar.gz</RSArchive>
</TargzArchives>
<TargzArchives Include="Build.RS.osx.tar.gz">
<RSArchive>$(RuntimeStoreArchivePrefix)osx-x64.tar.gz</RSArchive>
</TargzArchives>
<ZipArchives Include="Build.RS.winx64.zip">
<RSArchive>$(RuntimeStoreArchivePrefix)win7-x64.zip</RSArchive>
</ZipArchives>
<ZipArchives Include="Build.RS.winx86.zip">
<RSArchive>$(RuntimeStoreArchivePrefix)win7-x86.zip</RSArchive>
</ZipArchives>
</ItemGroup>
<!-- Targz -->
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateTargz"
Properties="DependentArchives=$(_InstallerSource)%(TargzArchives.Identity);RSArchive=%(TargzArchives.RSArchive);OutputArchiveName=%(TargzArchives.Identity)" />
<!-- Targz -->
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateZip"
Properties="DependentArchives=$(_InstallerSource)%(ZipArchives.Identity);RSArchive=%(ZipArchives.RSArchive);OutputArchiveName=%(ZipArchives.Identity)" />
</Target>
<Target Name="_BuildDockerImage">
<Exec
Command="docker build --build-arg USER_ID=%24(id -u) -t docker-image-$(Image) $(Image)"
WorkingDirectory="$(_DockerDir)" />
</Target>
<Target Name="_RemoveDockerImage">
<Exec Command="docker rmi docker-image-$(Image)" />
</Target>
<Target Name="_GenerateRpm">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkRoot)package_root\" />
<Exec Command="tar -xzf $(RSArchive) -C $(_WorkRoot)package_root\" Condition="'$(RSArchive)'!=''" />
<!-- Create layout: Place changelog -->
<Copy
SourceFiles="$(_PackagingDir)changelog"
DestinationFiles="$(_WorkRoot)templates/changelog"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
<ItemGroup>
<ChangelogItems Include="DATE" Replacement="$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))" />
<ChangelogItems Include="MAINTAINER_NAME" Replacement="$(MaintainerName)" />
<ChangelogItems Include="MAINTAINER_EMAIL" Replacement="$(MaintainerEmail)" />
<ChangelogItems Include="PACKAGE_VERSION" Replacement="$(RPMVersion)" />
<ChangelogItems Include="PACKAGE_REVISION" Replacement="$(RPMRevision)" />
</ItemGroup>
<!-- Update Date, Maintainer, Version, Revision and Changelog Message -->
<RepoTasks.ReplaceInFile Filename="$(_WorkRoot)templates/changelog" Items="@(ChangelogItems)" />
<!-- Update Maintainer and Summary -->
<PropertyGroup>
<RPMMaintainer>$(MaintainerName) &lt;$(MaintainerEmail)&gt;</RPMMaintainer>
<RPMSummary>$(RPMSummary.Replace('DEB_VERSION','$(RPMVersion)'))</RPMSummary>
</PropertyGroup>
<!-- Run RPM -->
<Exec Command="docker run
--rm
-v $(RepositoryRoot):$(_DockerRootDirectory)
docker-image-$(Image)
fpm
--verbose
-s dir
-t rpm
-n $(RPMInstallerPrefix)-$(RPMVersion)
-p $(_DockerRootDirectory)artifacts/installers/$(RPMInstallerPrefix)-$(RPMVersion)-$(RPMFileSuffix)
-v $(RPMVersion)
--iteration $(RPMRevision)
-a amd64
$(RPMArguments)
--rpm-changelog $(_DockerRootDirectory).w/templates/changelog
--rpm-summary &quot;$(RPMSummary)&quot;
--description &quot;$(RPMDescription)&quot;
--maintainer &quot;$(RPMMaintainer)&quot;
--vendor &quot;$(RPMVendor)&quot;
--license &quot;$(RPMLicense)&quot;
--url &quot;$(RPMHomepage)&quot;
$(_DockerRootDirectory).w/package_root/=&quot;$(RPMInstallRoot)&quot;" />
</Target>
<Target Name="GenerateRpms" DependsOnTargets="_EnsureInstallerPrerequisites">
<PropertyGroup>
<Image>rhel.7</Image>
<RPMVendor>.NET Foundation</RPMVendor>
<RHInstallerInstallRoot>/opt/rh/rh-dotnet20/root/usr/lib64/dotnet/</RHInstallerInstallRoot>
<GenericInstallerInstallRoot>/usr/share/dotnet/</GenericInstallerInstallRoot>
</PropertyGroup>
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<!-- Common installer parameters -->
<JsonPeek Query="$.short_description" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSInstallerSummary" />
</JsonPeek>
<JsonPeek Query="$.long_description" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSDescription" />
</JsonPeek>
<JsonPeek Query="$.license.type" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSLicense" />
</JsonPeek>
<JsonPeek Query="$.release.package_revision" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSPackageRevision" />
</JsonPeek>
<JsonPeek Query="$.homepage" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSHomepage" />
</JsonPeek>
<JsonPeek Query="$.maintainer_name" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSMaintainerName" />
</JsonPeek>
<JsonPeek Query="$.maintainer_email" JsonInputPath="$(RSDebConfigFile)">
<Output TaskParameter="Result" ItemName="_RSMaintainerEmail" />
</JsonPeek>
<JsonPeek Query="$.short_description" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingSummary" />
</JsonPeek>
<JsonPeek Query="$.long_description" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingDescription" />
</JsonPeek>
<JsonPeek Query="$.license.type" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingLicense" />
</JsonPeek>
<JsonPeek Query="$.release.package_revision" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingRevision" />
</JsonPeek>
<JsonPeek Query="$.homepage" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingHomepage" />
</JsonPeek>
<JsonPeek Query="$.maintainer_name" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingMaintainerName" />
</JsonPeek>
<JsonPeek Query="$.maintainer_email" JsonInputPath="$(HostingDebConfigFile)">
<Output TaskParameter="Result" ItemName="_HostingMaintainerEmail" />
</JsonPeek>
<ItemGroup>
<RHStoreDirectories Include="$(RHInstallerInstallRoot)additionalDeps" />
<RHStoreDirectories Include="$(RHInstallerInstallRoot)store" />
<GenericStoreDirectories Include="$(GenericInstallerInstallRoot)additionalDeps" />
<GenericStoreDirectories Include="$(GenericInstallerInstallRoot)store" />
<RSDependencies Include="$(RSInstallerName)-2.0.0">
<Version>2.0.0</Version>
</RSDependencies>
<HostingDependencies Include="$(RSInstallerName)-$(PackageVersion)">
<Version>$(PackageVersion)</Version>
</HostingDependencies>
<HostingDependencies Include="dotnet-runtime-$(MicrosoftNETCoreApp20PackageVersion)">
<Version>$(MicrosoftNETCoreApp20PackageVersion)</Version>
</HostingDependencies>
</ItemGroup>
<PropertyGroup>
<HostingFPMArguments>@(HostingDependencies->' -d &quot;%(Identity) &gt;= %(Version)&quot;', ' ')</HostingFPMArguments>
<RSDependencyArguments>@(RSDependencies->' -d &quot;%(Identity) &gt;= %(Version)&quot;', ' ')</RSDependencyArguments>
<RHRSArguments>$(RSDependencyArguments) @(RHStoreDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</RHRSArguments>
<GenericRSArguments>$(RSDependencyArguments) @(GenericStoreDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</GenericRSArguments>
<CommonArguments>Image=$(Image);RPMVendor=$(RPMVendor)</CommonArguments>
<CommonGenericArguments>RPMFileSuffix=rhel.7-x64.rpm;RPMInstallRoot=$(GenericInstallerInstallRoot)</CommonGenericArguments>
<CommonRHArguments>RPMFileSuffix=rh.rhel.7-x64.rpm;RPMInstallRoot=$(RHInstallerInstallRoot)</CommonRHArguments>
<CommonRSArguments>MaintainerName=@(_RSMaintainerName);MaintainerEmail=@(_RSMaintainerEmail)</CommonRSArguments>
<CommonRSArguments>$(CommonRSArguments);RPMInstallerPrefix=$(RSInstallerName);RPMRevision=@(_RSPackageRevision)</CommonRSArguments>
<CommonRSArguments>$(CommonRSArguments);RPMSummary=@(_RSInstallerSummary);RPMDescription=@(_RSDescription)</CommonRSArguments>
<CommonRSArguments>$(CommonRSArguments);RPMLicense=@(_RSLicense);RPMHomepage=@(_RSHomepage)</CommonRSArguments>
<CommonHostingArguments>$(CommonArguments);MaintainerName=@(_HostingMaintainerName);MaintainerEmail=@(_HostingMaintainerEmail)</CommonHostingArguments>
<CommonHostingArguments>$(CommonHostingArguments);RPMInstallerPrefix=$(HostingInstallerName);RPMRevision=@(_HostingRevision)</CommonHostingArguments>
<CommonHostingArguments>$(CommonHostingArguments);RPMSummary=@(_HostingSummary);RPMDescription=@(_HostingDescription)</CommonHostingArguments>
<CommonHostingArguments>$(CommonHostingArguments);RPMLicense=@(_HostingLicense);RPMHomepage=@(_HostingHomepage)</CommonHostingArguments>
<RS_RPM_Arguments>$(CommonArguments);$(CommonGenericArguments);$(CommonRSArguments)</RS_RPM_Arguments>
<RS_RPM_Arguments>$(RS_RPM_Arguments);RSArchive=$(RuntimeStoreLinuxArchiveFilePath);RPMVersion=$(PackageVersion);RPMArguments=$(GenericRSArguments)</RS_RPM_Arguments>
<Hosting_RPM_RedHat_Arguments>$(CommonArguments);$(CommonGenericArguments);$(CommonHostingArguments)</Hosting_RPM_RedHat_Arguments>
<Hosting_RPM_RedHat_Arguments>$(Hosting_RPM_RedHat_Arguments);RPMVersion=$(PackageVersion);RPMArguments=$(HostingFPMArguments)</Hosting_RPM_RedHat_Arguments>
<RS_RPM_RedHat_Arguments>$(CommonArguments);$(CommonRHArguments);$(CommonRSArguments)</RS_RPM_RedHat_Arguments>
<RS_RPM_RedHat_Arguments>$(RS_RPM_RedHat_Arguments);RSArchive=$(RuntimeStoreLinuxArchiveFilePath);RPMVersion=$(PackageVersion);RPMArguments=$(RHRSArguments)</RS_RPM_RedHat_Arguments>
<Hosting_RPM_Arguments>$(CommonArguments);$(CommonRHArguments);$(CommonHostingArguments)</Hosting_RPM_Arguments>
<Hosting_RPM_Arguments>$(Hosting_RPM_Arguments);RPMVersion=$(PackageVersion);RPMArguments=$(HostingFPMArguments)</Hosting_RPM_Arguments>
</PropertyGroup>
<!-- General runtime store -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RS_RPM_Arguments)" />
<!-- General hosting bundle -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(Hosting_RPM_RedHat_Arguments)" />
<!-- RH runtime store -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RS_RPM_RedHat_Arguments)" />
<!-- RH hosting bundle -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(Hosting_RPM_Arguments)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
<Target Name="_GenerateDeb">
<!-- Create layout: Clear work directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkLayoutDir)package_root\" />
<Exec Command="tar -xzf $(RSArchive) -C $(_WorkLayoutDir)package_root/" Condition="'$(RSArchive)'!=''" />
<!-- Create layout: Generate and Place debian_config.json -->
<Copy
SourceFiles="$(DebConfig)"
DestinationFiles="$(_WorkLayoutDir)debian_config.json"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
<ItemGroup>
<DebConfigItems Include="DOTNET_VERSION" Replacement="$(DotnetVersion)" />
<DebConfigItems Include="DEB_VERSION" Replacement="$(DebVersion)" />
</ItemGroup>
<!-- Update versions -->
<RepoTasks.ReplaceInFile Filename="$(_WorkLayoutDir)debian_config.json" Items="@(DebConfigItems)" />
<!-- Build Runtime Store and Hosting Bundle Deb package -->
<!--
Note: KOREBUILD_DOTNET_FEED_CREDENTIAL is intentionally NOT an MSBuild variable.
MSBuild doesn't to the substitution correctly because the string contains %,
so we'll let bash do it instead.
-->
<Exec Command="docker run
--rm
-v $(RepositoryRoot):$(_DockerRootDirectory)
-e DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-e INSTALLER_NAME=$(DebPrefix)-$(DebVersion)
-e INSTALLER_VERSION=$(DebVersion)
-e 'KOREBUILD_DOTNET_VERSION=$(KOREBUILD_DOTNET_VERSION)'
-e 'KOREBUILD_DOTNET_SHARED_RUNTIME_VERSION=$(KOREBUILD_DOTNET_SHARED_RUNTIME_VERSION)'
-e 'KOREBUILD_DOTNET_FEED_CDN=$(KOREBUILD_DOTNET_FEED_CDN)'
-e 'KOREBUILD_DOTNET_FEED_UNCACHED=$(KOREBUILD_DOTNET_FEED_UNCACHED)'
-e &quot;KOREBUILD_DOTNET_FEED_CREDENTIAL=$KOREBUILD_DOTNET_FEED_CREDENTIAL&quot;
docker-image-$(Image)
./build.sh /t:RunDebTool"
ContinueOnError="WarnAndContinue" />
<!-- Copy Runtime Store and Hosting Bundle packages to output -->
<ItemGroup>
<GeneratedDebFiles Include="$(_WorkOutputDir)/*.deb" />
</ItemGroup>
<Error Text="@(GeneratedDebFiles->Count()) deb installer files generated." Condition="'@(GeneratedDebFiles->Count())' != 1" />
<Copy
DestinationFiles="$(_InstallersOutputDir)$(DebPrefix)-$(DebVersion)-$(Image)-x64.deb"
SourceFiles="@(GeneratedDebFiles)"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
</Target>
<Target Name="_GenerateDebOnPlatform">
<PropertyGroup>
<CommonRSArguments>Image=$(Image);DebConfig=$(RSDebConfigFile);DebPrefix=$(RSInstallerName)</CommonRSArguments>
<CommonHostingArguments>Image=$(Image);DebConfig=$(HostingDebConfigFile);DotnetVersion=$(MicrosoftNETCoreApp20PackageVersion);DebPrefix=$(HostingInstallerName)</CommonHostingArguments>
</PropertyGroup>
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateDeb"
Properties="$(CommonRSArguments);RSArchive=$(RuntimeStoreLinuxArchiveFilePath);DebVersion=$(Version)" />
<MSBuild
Projects="$(MSBuildProjectFullPath)"
Targets="_GenerateDeb"
Properties="$(CommonHostingArguments);DebVersion=$(Version)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
<Target Name="GenerateDebs" DependsOnTargets="_EnsureInstallerPrerequisites">
<PropertyGroup>
<CommonArguments>Version=$(Version)</CommonArguments>
</PropertyGroup>
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="$(CommonArguments);Image=debian.8" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="$(CommonArguments);Image=ubuntu.14.04" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="$(CommonArguments);Image=ubuntu.16.04" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="$(CommonArguments);Image=ubuntu.16.10" />
</Target>
<Target Name="RunDebTool">
<!-- Install dotnet-deb tool -->
<MSBuild Projects="$(_DebToolDir)dotnet-deb-tool-consumer.csproj" Targets="Restore" />
<!-- Build deb package -->
<Exec
Command="dotnet deb-tool -i $(_WorkLayoutDir) -o $(_WorkOutputDir) -n $(INSTALLER_NAME) -v $(INSTALLER_VERSION)"
WorkingDirectory="$(_DebToolDir)" />
</Target>
<Target Name="GenerateRelabledInstallers">
<ItemGroup>
<Debian8Installers Include="$(_InstallersOutputDir)*debian.8*" />
<Ubuntu1604Installers Include="$(_InstallersOutputDir)*ubuntu.16.04*" />
</ItemGroup>
<!-- Create debian.9 installers by renaming debian.8 installers -->
<Copy
SourceFiles="%(Debian8Installers.FullPath)"
DestinationFiles="$([System.String]::Copy('%(Debian8Installers.FullPath)').Replace('debian.8','debian.9'))"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
<!-- Create ubuntu.17.04 installers by renaming ubuntu.16.04 installers -->
<Copy
SourceFiles="%(Ubuntu1604Installers.FullPath)"
DestinationFiles="$([System.String]::Copy('%(Ubuntu1604Installers.FullPath)').Replace('ubuntu.16.04','ubuntu.17.04'))"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
</Target>
</Project>

44
build/SharedFx.props Normal file
View File

@ -0,0 +1,44 @@
<Project>
<PropertyGroup>
<!-- directories -->
<_WorkRoot>$(RepositoryRoot).w\</_WorkRoot>
<_WorkLayoutDir>$(_WorkRoot).l\</_WorkLayoutDir>
<_WorkOutputDir>$(_WorkRoot).o\</_WorkOutputDir>
<_SrcDir>$(RepositoryRoot)src\</_SrcDir>
<_AllMetapackageDir>$(_SrcDir)Microsoft.AspNetCore.All\</_AllMetapackageDir>
<_TemplatesDir>$(MSBuildThisFileDirectory)tools\templates\</_TemplatesDir>
<_DockerDir>$(MSBuildThisFileDirectory)tools\docker\</_DockerDir>
<_PackagingDir>$(MSBuildThisFileDirectory)tools\packaging\</_PackagingDir>
<_DebToolDir>$(MSBuildThisFileDirectory)tools\dotnet-deb-tool-consumer\</_DebToolDir>
<_SharedFxSourceDir>$(RepositoryRoot).deps\Signed\SharedFx\</_SharedFxSourceDir>
<_InstallerSourceDir>$(RepositoryRoot).deps\Installers\</_InstallerSourceDir>
<_DockerRootDir>/opt/code/</_DockerRootDir>
<_InstallersOutputDir>$(ArtifactsDir)installers\</_InstallersOutputDir>
<!-- installers -->
<SharedFxInstallerName>aspnetcore-shared</SharedFxInstallerName>
<HostingInstallerName>dotnet-hosting</HostingInstallerName>
<DebConfigInFile>$(_PackagingDir)debian_config.json.in</DebConfigInFile>
<PublicCoreFeedPrefix>https://dotnetcli.blob.core.windows.net/dotnet</PublicCoreFeedPrefix>
<DotNetAssetRootUrl Condition="'$(DotNetAssetRootUrl)'==''">$(PublicCoreFeedPrefix)</DotNetAssetRootUrl>
<DotnetRuntimePackageName>dotnet-runtime</DotnetRuntimePackageName>
<DotnetRuntimeInstallerName>$(DotnetRuntimePackageName)-$(MicrosoftNETCoreApp21PackageVersion)</DotnetRuntimeInstallerName>
<DotnetRuntimeInstallerArchiveName>$(DotnetRuntimeInstallerName)-linux-x64.tar.gz</DotnetRuntimeInstallerArchiveName>
<RuntimeTargzLink>$(DotNetAssetRootUrl)/Runtime/$(MicrosoftNETCoreApp21PackageVersion)/$(DotnetRuntimeInstallerArchiveName)</RuntimeTargzLink>
<SharedFxLinuxArchiveFilePath>$(_SharedFxSourceDir)$(SharedFxInstallerName)-$(PackageVersion)-linux-x64.tar.gz</SharedFxLinuxArchiveFilePath>
<!-- installer metadata -->
<MaintainerName>Microsoft</MaintainerName>
<MaintainerEmail>nugetaspnet@microsoft.com</MaintainerEmail>
<Homepage>https://www.asp.net/</Homepage>
<InstallRoot>/usr/share/dotnet</InstallRoot>
<PackageRevision>1</PackageRevision>
<LicenseType>Apache-2.0</LicenseType>
<SharedFxSummary>Microsoft ASP.NET Core $(PackageVersion) Shared Framework</SharedFxSummary>
<SharedFxDescription>Shared Framework for Microsoft ASP.NET Core. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs.</SharedFxDescription>
<HostingSummary>Microsoft .NET Core $(PackageVersion) Linux Server Hosting</HostingSummary>
<HostingDescription>Microsoft .NET Core Linux Server Hosting enables hosting of ASP.NET Core applications and contains the ASP.NET Core Shared Framework and .NET Core Runtime. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs.</HostingDescription>
</PropertyGroup>
</Project>

142
build/SharedFx.targets Normal file
View File

@ -0,0 +1,142 @@
<Project>
<Import Project="common.props" />
<Import Project="SharedFx.props" />
<Target Name="BuildMetapackage" DependsOnTargets="ResolveRepoInfo">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<PropertyGroup>
<MetapackageWorkDirectory>$(_WorkRoot)Microsoft.AspNetCore.All\</MetapackageWorkDirectory>
<_SharedFxProps>Configuration=$(Configuration);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);AspNetUniverseBuildOffline=true</_SharedFxProps>
<_SharedFxProps>$(_SharedFxProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp21PackageVersion)</_SharedFxProps>
</PropertyGroup>
<ItemGroup>
<AllMetapackageFiles Include="$(_AllMetapackageDir)**\*" />
</ItemGroup>
<!-- Move to working dir -->
<Copy SourceFiles="@(AllMetapackageFiles)" DestinationFolder="$(MetapackageWorkDirectory)\%(RecursiveDir)" />
<Copy SourceFiles="$(_SrcDir)Directory.Build.props" DestinationFolder="$(_WorkRoot)" />
<!-- Add references to project -->
<RepoTasks.AddMetapackageReferences
ReferencePackagePath="$(MetapackageWorkDirectory)Microsoft.AspNetCore.All.csproj"
BuildArtifacts="@(ArtifactInfo)"
PackageArtifacts="@(PackageArtifact)"
ExternalDependencies="@(ExternalDependency)" />
<!-- Set _Target=Restore so the project will be re-evaluated to include Internal.AspNetCore.Sdk MSBuild properties on the next step. -->
<MSBuild Projects="$(MetapackageWorkDirectory)Microsoft.AspNetCore.All.csproj" Targets="Restore" Properties="$(_SharedFxProps);_Target=Restore" />
<!-- Pack -->
<MSBuild Projects="$(MetapackageWorkDirectory)Microsoft.AspNetCore.All.csproj" Targets="Pack" Properties="$(_SharedFxProps);PackageOutputPath=$(BuildDir)" />
</Target>
<Target Name="BuildSharedFx" DependsOnTargets="ResolveCommitHash">
<ItemGroup>
<_AcceptableSharedFxRIDs Include="win7-x64;win7-x86;osx-x64;linux-x64"/>
</ItemGroup>
<PropertyGroup>
<RIDIsAcceptable Condition="'%(_AcceptableSharedFxRIDs.Identity)' == '$(SharedFxRID)'">true</RIDIsAcceptable>
</PropertyGroup>
<Error Text="&quot;$(SharedFxRID)&quot; not acceptable as a SharedFxRID, please specify an acceptable value: {@(_AcceptableSharedFxRIDs)}." Condition="'$(RIDIsAcceptable)' != 'true'"/>
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<PropertyGroup>
<SharedFxWorkDirectory>$(_WorkRoot)SharedFx\</SharedFxWorkDirectory>
<SharedFxOutputDirectory>$(_WorkRoot)Publish\</SharedFxOutputDirectory>
<SharedFxPublishDirectory>$(SharedFxOutputDirectory)shared\Microsoft.AspNetCore.All\$(PackageVersion)\</SharedFxPublishDirectory>
<_SharedFxProps>Configuration=$(Configuration);RuntimeIdentifier=$(SharedFxRID)</_SharedFxProps>
<_SharedFxProps>$(_SharedFxProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp21PackageVersion)</_SharedFxProps>
<_SharedFxProps>$(_SharedFxProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)</_SharedFxProps>
<_SharedFxProps>$(_SharedFxProps);AspNetUniverseBuildOffline=true</_SharedFxProps>
</PropertyGroup>
<!-- Move to working dir -->
<ItemGroup>
<SharedFxFiles Include="$(_TemplatesDir)SharedFx\**\*" />
</ItemGroup>
<Copy SourceFiles="@(SharedFxFiles)" DestinationFolder="$(SharedFxWorkDirectory)\%(RecursiveDir)" />
<Copy SourceFiles="$(_SrcDir)Directory.Build.props" DestinationFolder="$(_WorkRoot)" />
<!-- Set _Target=Restore so the project will be re-evaluated to include Internal.AspNetCore.Sdk MSBuild properties on the next step. -->
<MSBuild Projects="$(SharedFxWorkDirectory)SharedFx.csproj"
Targets="Restore"
Properties="$(_SharedFxProps);MicrosoftAspNetCoreAllVersion=$(PackageVersion);_Target=Restore" />
<!-- Publish -->
<MSBuild Projects="$(SharedFxWorkDirectory)SharedFx.csproj"
Targets="Publish"
Properties="$(_SharedFxProps);GenerateRuntimeConfigurationFiles=true;SelfContained=false;PublishDir=$(SharedFxPublishDirectory)" />
<!-- Clean deps.json -->
<RepoTasks.TrimDeps DepsFiles="$(SharedFxPublishDirectory)/SharedFx.deps.json" />
<!-- Clean up artifacts that publish generates which we don't need -->
<ItemGroup>
<ToDelete Include="$(SharedFxPublishDirectory)\SharedFx" />
<ToDelete Include="$(SharedFxPublishDirectory)\SharedFx.dll" />
<ToDelete Include="$(SharedFxPublishDirectory)\SharedFx.pdb" />
</ItemGroup>
<Delete Files="@(ToDelete)" />
<!-- Rename deps file -->
<Move SourceFiles="$(SharedFxPublishDirectory)\SharedFx.deps.json"
DestinationFiles="$(SharedFxPublishDirectory)\Microsoft.AspNetCore.All.deps.json" />
<!-- Rename runtimeconfig.json file -->
<Move SourceFiles="$(SharedFxPublishDirectory)\SharedFx.runtimeconfig.json"
DestinationFiles="$(SharedFxPublishDirectory)\Microsoft.AspNetCore.All.runtimeconfig.json" />
<!-- Generate Runtime Graph -->
<PropertyGroup>
<RuntimeGraphGeneratorRuntime Condition="$([MSBuild]::IsOSPlatform('Windows'))">win</RuntimeGraphGeneratorRuntime>
<RuntimeGraphGeneratorRuntime Condition="$([MSBuild]::IsOSPlatform('Linux'))">linux</RuntimeGraphGeneratorRuntime>
<RuntimeGraphGeneratorRuntime Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</RuntimeGraphGeneratorRuntime>
</PropertyGroup>
<ItemGroup>
<SharedFxAssetsFile Include="$(SharedFxWorkDirectory)**\project.assets.json" />
</ItemGroup>
<ProcessSharedFrameworkDeps
AssetsFilePath="@(SharedFxAssetsFile)"
DepsFilePath="$(SharedFxPublishDirectory)\Microsoft.AspNetCore.All.deps.json"
Runtime="$(RuntimeGraphGeneratorRuntime)" />
<!-- Generate .version file -->
<ItemGroup>
<VersionLines Include="$(CommitHash)" />
<VersionLines Include="$(PackageVersion)" />
</ItemGroup>
<WriteLinesToFile
File="$(SharedFxPublishDirectory)\.version"
Lines="@(VersionLines)"
Overwrite="true" />
<ItemGroup>
<OutputZipFiles Include="$(SharedFxOutputDirectory)**\*" />
</ItemGroup>
<!-- Create archive -->
<ZipArchive
File="$(ArtifactsDir)aspnetcore-shared-$(PackageVersion)-$(SharedFxRID).zip"
SourceFiles="@(OutputZipFiles)"
WorkingDirectory="$(SharedFxOutputDirectory)"
Overwrite="true"
Condition="$([MSBuild]::IsOSPlatform('Windows'))"/>
<Exec
Command="tar -czf $(ArtifactsDir)aspnetcore-shared-$(PackageVersion)-$(SharedFxRID).tar.gz -C $(SharedFxOutputDirectory) ."
WorkingDirectory="$(SharedFxOutputDirectory)"
Condition="$([MSBuild]::IsOSPlatform('Linux')) OR $([MSBuild]::IsOSPlatform('OSX'))"/>
</Target>
</Project>

View File

@ -0,0 +1,262 @@
<Project>
<Target Name="BuildInstallers" DependsOnTargets="GenerateTargzs;GenerateRpms;GenerateDebs;GenerateRelabeledInstallers" />
<Target Name="_EnsureInstallerPrerequisites">
<MakeDir Directories="$(_InstallersOutputDir)" />
<!-- Check Docker server OS -->
<Exec Command="docker version -f &quot;{{.Server.Os}}&quot;" StandardOutputImportance="Normal" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="DockerHostOS" />
</Exec>
<Error Text="Docker host must be using Linux containers." Condition="'$(DockerHostOS)' != 'linux'"/>
<Error Text="Linux archive not found at $(SharedFxLinuxArchiveFilePath)." Condition="!Exists('$(SharedFxLinuxArchiveFilePath)')" />
</Target>
<Target Name="_DownloadInstallers">
<!-- Download dotnet installers -->
<MakeDir Directories="$(_InstallerSource)" />
<KoreBuild.Tasks.DownloadFile Uri="$(RuntimeTargzLink)$(DotNetAssetRootAccessTokenSuffix)" DestinationPath="$(_InstallerSource)$(DotnetRuntimeInstallerArchiveName)" />
</Target>
<Target Name="GenerateTargzs" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
<PropertyGroup>
<HostingArchiveName>$(HostingInstallerName)-$(PackageVersion)-linux-x64.tar.gz</HostingArchiveName>
</PropertyGroup>
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Aspnet Hosting Bundle -->
<Exec Command="tar -xzf $(SharedFxLinuxArchiveFilePath) -C $(_WorkRoot)" />
<Exec Command="tar -xzf $(_InstallerSource)$(DotnetRuntimeInstallerArchiveName) -C $(_WorkRoot)" />
<!-- Create Aspnet Hosting Bundle tar.gz -->
<Exec Command="tar -czf $(_InstallersOutputDir)$(HostingArchiveName) -C $(_WorkRoot) ."/>
</Target>
<Target Name="_BuildDockerImage">
<Exec Command="docker build --build-arg USER_ID=%24(id -u) -t docker-image-$(Image) $(Image)" WorkingDirectory="$(_DockerDir)" />
</Target>
<Target Name="_RemoveDockerImage">
<Exec Command="docker rmi docker-image-$(Image)" />
</Target>
<Target Name="_GenerateRpm">
<!-- Clear working directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkRoot)package_root\" />
<Exec Command="tar -xzf $(SharedFxArchive) -C $(_WorkRoot)package_root\" Condition="'$(SharedFxArchive)'!=''" />
<!-- Create layout: Create changelog -->
<PropertyGroup>
<ChangeLogProps>DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy))</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_NAME=$(RpmMaintainerName)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);MAINTAINER_EMAIL=$(RpmMaintainerEmail)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_VERSION=$(RpmVersion)</ChangeLogProps>
<ChangeLogProps>$(ChangeLogProps);PACKAGE_REVISION=$(RpmRevision)</ChangeLogProps>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="$(_PackagingDir)changelog.in" OutputPath="$(_WorkRoot)templates/changelog" Properties="$(ChangeLogProps)" />
<!-- Run fpm -->
<Exec Command="docker run
--rm
-v $(RepositoryRoot):$(_DockerRootDir)
docker-image-$(Image)
fpm
--verbose
-s dir
-t rpm
-n $(RpmInstallerPrefix)-$(RpmVersion)
-p $(_DockerRootDir)artifacts/installers/$(RpmInstallerPrefix)-$(RpmVersion)-$(RpmFileSuffix)
-v $(RpmVersion)
--iteration $(RpmRevision)
-a amd64
$(RpmArguments)
--rpm-changelog $(_DockerRootDir).w/templates/changelog
--rpm-summary &quot;$(RpmMSummary)&quot;
--description &quot;$(RpmDescription)&quot;
--maintainer &quot;$(RpmMaintainerName) &lt;$(RpmMaintainerEmail)&gt;&quot;
--vendor &quot;$(RpmVendor)&quot;
--license &quot;$(RpmLicense)&quot;
--url &quot;$(RpmHomepage)&quot;
$(_DockerRootDir).w/package_root/=&quot;$(RpmInstallRoot)/&quot;" />
</Target>
<Target Name="GenerateRpms" DependsOnTargets="_EnsureInstallerPrerequisites">
<PropertyGroup>
<Image>rhel.7</Image>
<RpmVendor>.NET Foundation</RpmVendor>
<RHInstallRoot>/opt/rh/rh-dotnet20/root/usr/lib64/dotnet</RHInstallRoot>
</PropertyGroup>
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<ItemGroup>
<RpmHostingDependencies Include="$(SharedFxInstallerName)-$(PackageVersion)" Version="$(PackageVersion)" />
<RpmHostingDependencies Include="$(DotnetRuntimeInstallerName)" Version="$(MicrosoftNETCoreApp21PackageVersion)" />
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
<RpmSharedFxDependencies Include="aspnetcore-store-2.0.3" Version="2.0.3" />
<RpmRHSharedFxDirectories Include="$(RHInstallRoot)/shared" />
<RpmGenericSharedFxDirectories Include="$(InstallRoot)/shared" />
</ItemGroup>
<PropertyGroup>
<RpmHostingArguments>@(RpmHostingDependencies->' -d &quot;%(Identity) &gt;= %(Version)&quot;', ' ')</RpmHostingArguments>
<RpmSharedFxArguments>@(RpmSharedFxDependencies->' -d &quot;%(Identity) &gt;= %(Version)&quot;', ' ')</RpmSharedFxArguments>
<RpmRHSharedFxArguments>@(RpmRHSharedFxDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</RpmRHSharedFxArguments>
<RpmGenericSharedFxArguments>@(RpmGenericSharedFxDirectories->' --directories &quot;%(FullPath)&quot;', ' ')</RpmGenericSharedFxArguments>
<RpmCommonArguments>Image=$(Image);RpmVendor=$(RpmVendor);RpmVersion=$(PackageVersion)</RpmCommonArguments>
<RpmCommonArguments>$(RpmCommonArguments);RpmMaintainerName=$(MaintainerName);RpmMaintainerEmail=$(MaintainerEmail)</RpmCommonArguments>
<RpmCommonArguments>$(RpmCommonArguments);RpmHomepage=$(Homepage);RpmRevision=$(PackageRevision)</RpmCommonArguments>
<RpmCommonArguments>$(RpmCommonArguments);RpmLicense=$(LicenseType)</RpmCommonArguments>
<RpmCommonGenericArguments>RpmFileSuffix=rhel.7-x64.rpm;RpmInstallRoot=$(InstallRoot)</RpmCommonGenericArguments>
<RpmCommonRHArguments>RpmFileSuffix=rh.rhel.7-x64.rpm;RpmInstallRoot=$(RHInstallRoot)</RpmCommonRHArguments>
<RpmCommonSharedFxArguments>RpmInstallerPrefix=$(SharedFxInstallerName);SharedFxArchive=$(SharedFxLinuxArchiveFilePath)</RpmCommonSharedFxArguments>
<RpmCommonSharedFxArguments>$(RpmCommonSharedFxArguments);RpmMSummary=$(SharedFxSummary);RpmDescription=$(SharedFxDescription)</RpmCommonSharedFxArguments>
<RpmCommonHostingArguments>RpmInstallerPrefix=$(HostingInstallerName);RpmArguments=$(RpmHostingArguments)</RpmCommonHostingArguments>
<RpmCommonHostingArguments>$(RpmCommonHostingArguments);RpmMSummary=$(HostingSummary);RpmDescription=$(HostingDescription)</RpmCommonHostingArguments>
<RpmSharedFxProps>$(RpmCommonArguments);$(RpmCommonGenericArguments);$(RpmCommonSharedFxArguments);RpmArguments=$(RpmGenericSharedFxArguments) $(RpmSharedFxArguments)</RpmSharedFxProps>
<RpmHostingProps>$(RpmCommonArguments);$(RpmCommonGenericArguments);$(RpmCommonHostingArguments)</RpmHostingProps>
<RpmRHSharedFxProps>$(RpmCommonArguments);$(RpmCommonRHArguments);$(RpmCommonSharedFxArguments);RpmArguments=$(RpmRHSharedFxArguments) $(RpmSharedFxArguments)</RpmRHSharedFxProps>
<RpmRHHostingProps>$(RpmCommonArguments);$(RpmCommonRHArguments);$(RpmCommonHostingArguments)</RpmRHHostingProps>
</PropertyGroup>
<!-- Generic installers-->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmSharedFxProps)" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmHostingProps)" />
<!-- RH installers-->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmRHSharedFxProps)" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRpm" Properties="$(RpmRHHostingProps)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
<Target Name="RunDebTool">
<!-- Install dotnet-deb tool -->
<MSBuild Projects="$(_DebToolDir)dotnet-deb-tool-consumer.csproj" Targets="Restore" />
<!-- Build deb package -->
<Exec
Command="dotnet deb-tool -i $(_WorkLayoutDir) -o $(_WorkOutputDir) -n $(INSTALLER_NAME) -v $(INSTALLER_VERSION)"
WorkingDirectory="$(_DebToolDir)" />
</Target>
<Target Name="_GenerateDeb">
<!-- Create layout: Clear work directory -->
<RemoveDir Directories="$(_WorkRoot)" />
<MakeDir Directories="$(_WorkRoot)" />
<!-- Create layout: Extract archive if given -->
<MakeDir Directories="$(_WorkLayoutDir)package_root\" />
<Exec Command="tar -xzf $(SharedFxArchive) -C $(_WorkLayoutDir)package_root/" Condition="'$(SharedFxArchive)'!=''" />
<!-- Create layout: Generate and Place debian_config.json -->
<PropertyGroup>
<DebConfigProps>MAINTAINER_NAME=$(MaintainerName)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);MAINTAINER_EMAIL=$(MaintainerEmail)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);HOMEPAGE=$(Homepage)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);INSTALL_ROOT=$(InstallRoot)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);PACKAGE_NAME=$(DebPrefix)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);PACKAGE_REVISION=$(PackageRevision)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);LICENSE_TYPE=$(LicenseType)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);SHORT_DESCRIPTION=$(DebSummary)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);LONG_DESCRIPTION=$(DebDescription)</DebConfigProps>
<DebConfigProps>$(DebConfigProps);DEBIAN_DEPENDENCIES=$(DebDependencies)</DebConfigProps>
</PropertyGroup>
<GenerateFileFromTemplate TemplateFile="$(DebConfigInFile)" OutputPath="$(_WorkLayoutDir)debian_config.json" Properties="$(DebConfigProps)" />
<!-- Build SharedFx and Hosting Bundle Deb package -->
<Exec Command="docker run
--rm
-v $(RepositoryRoot):$(_DockerRootDir)
-e DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
-e INSTALLER_NAME=$(DebPrefix)-$(DebVersion)
-e INSTALLER_VERSION=$(DebVersion)
docker-image-$(Image)
./build.sh /t:RunDebTool"
ContinueOnError="WarnAndContinue" />
<!-- Copy SharedFx and Hosting Bundle packages to output -->
<ItemGroup>
<GeneratedDebFiles Include="$(_WorkOutputDir)/*.deb" />
</ItemGroup>
<Error Text="@(GeneratedDebFiles->Count()) deb installer files generated." Condition="'@(GeneratedDebFiles->Count())' != 1" />
<Copy
DestinationFiles="$(_InstallersOutputDir)$(DebPrefix)-$(DebVersion)-$(Image)-x64.deb"
SourceFiles="@(GeneratedDebFiles)"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
</Target>
<Target Name="_GenerateDebOnPlatform">
<!-- Build Docker Image -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildDockerImage" Properties="Image=$(Image)" />
<ItemGroup>
<!-- TODO: REMOVE - This dependency is a stop gap requirement until trampoline from 2.0 => 2.1 is implemented -->
<_DebSharedFxDependencies Include="aspnetcore-store-2.0.3"/>
<_DebHostingDependencies Include="$(DotnetRuntimeInstallerName)"/>
<_DebHostingDependencies Include="$(SharedFxInstallerName)-$(Version)"/>
</ItemGroup>
<PropertyGroup>
<DebSharedFxDependencies>@(_DebSharedFxDependencies->'"%(Identity)": {}', ', ')</DebSharedFxDependencies>
<DebHostingDependencies>@(_DebHostingDependencies->'"%(Identity)": {}', ', ')</DebHostingDependencies>
<CommonProps>Image=$(Image);DebVersion=$(Version)</CommonProps>
<DebSharedFxProps>DebPrefix=$(SharedFxInstallerName);DebSummary=$(SharedFxSummary);DebDescription=$(SharedFxDescription)</DebSharedFxProps>
<DebSharedFxProps>$(DebSharedFxProps);DebDependencies=$(DebSharedFxDependencies);SharedFxArchive=$(SharedFxLinuxArchiveFilePath)</DebSharedFxProps>
<DebHostingProps>DebPrefix=$(HostingInstallerName);DebSummary=$(HostingSummary);DebDescription=$(HostingDescription)</DebHostingProps>
<DebHostingProps>$(DebHostingProps);DebDependencies=$(DebHostingDependencies)</DebHostingProps>
</PropertyGroup>
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDeb" Properties="$(CommonProps);$(DebSharedFxProps)" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDeb" Properties="$(CommonProps);$(DebHostingProps)" />
<!-- Remove Docker Image to save disk space -->
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_RemoveDockerImage" Properties="Image=$(Image)" />
</Target>
<Target Name="GenerateDebs" DependsOnTargets="_EnsureInstallerPrerequisites">
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="Version=$(Version);Image=debian.8" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="Version=$(Version);Image=ubuntu.14.04" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateDebOnPlatform" Properties="Version=$(Version);Image=ubuntu.16.04" />
</Target>
<Target Name="_GenerateRelabeledInstaller">
<ItemGroup>
<Installers Include="$(_InstallersOutputDir)*$(Source)*" />
</ItemGroup>
<Copy
SourceFiles="%(Installers.FullPath)"
DestinationFiles="$([System.String]::Copy('%(Installers.FullPath)').Replace('$(Source)','$(Target)'))"
OverwriteReadOnlyFiles="True"
SkipUnchangedFiles="False"
UseHardlinksIfPossible="False" />
</Target>
<Target Name="GenerateRelabeledInstallers">
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRelabeledInstaller" Properties="Source=debian.8;Target=debian.9" />
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateRelabeledInstaller" Properties="Source=ubuntu.16.04;Target=ubuntu.17.04" />
</Target>
</Project>

View File

@ -1,9 +1,10 @@
<Project>
<Import Project="RepositoryBuild.targets" />
<Import Project="RuntimeStore.targets" />
<Import Project="RuntimeStoreInstaller.targets" />
<Import Project="PackageArchive.targets" />
<Import Project="Templating.targets" />
<Import Project="SharedFx.targets" />
<Import Project="SharedFxInstaller.targets" />
<PropertyGroup>
<_RepositoryBuildTargets Condition="'$(_RepositoryBuildTargets)'=='' AND '$(SkipTests)'=='true'">/t:Package /t:VerifyPackages</_RepositoryBuildTargets>
@ -19,7 +20,7 @@
<CleanDependsOn>$(CleanDependsOn);CleanArtifacts;CleanUniverseArtifacts</CleanDependsOn>
<RestoreDependsOn>$(RestoreDependsOn);InstallDotNet;RestoreExternalDependencies</RestoreDependsOn>
<CompileDependsOn>$(CompileDependsOn);BuildRepositories</CompileDependsOn>
<PackageDependsOn Condition="'$(TestOnly)' != 'true'">$(PackageDependsOn);BuildAllMetapackage;BuildTemplates;SplitPackages</PackageDependsOn>
<PackageDependsOn Condition="'$(TestOnly)' != 'true'">$(PackageDependsOn);BuildMetapackage;BuildTemplates;SplitPackages</PackageDependsOn>
<VerifyDependsOn Condition="'$(TestOnly)' != 'true'">$(VerifyDependsOn);VerifyCoherentVersions</VerifyDependsOn>
</PropertyGroup>

View File

@ -49,11 +49,11 @@ namespace RepoTasks
var packageVersion = buildArtifacts
.Single(p => string.Equals(p.PackageInfo.Id, packageName, StringComparison.OrdinalIgnoreCase))
.PackageInfo.Version.ToString();
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersion}");
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: [{packageVersion}]");
var packageReferenceElement = xmlDoc.CreateElement("PackageReference");
packageReferenceElement.SetAttribute("Include", packageName);
packageReferenceElement.SetAttribute("Version", packageVersion);
packageReferenceElement.SetAttribute("Version", $"[{packageVersion}]");
packageReferenceElement.SetAttribute("PrivateAssets", "None");
itemGroupElement.AppendChild(packageReferenceElement);
@ -63,11 +63,11 @@ namespace RepoTasks
{
var packageName = package.ItemSpec;
var packageVersion = package.GetMetadata("Version");
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersion}");
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: [{packageVersion}]");
var packageReferenceElement = xmlDoc.CreateElement("PackageReference");
packageReferenceElement.SetAttribute("Include", packageName);
packageReferenceElement.SetAttribute("Version", packageVersion);
packageReferenceElement.SetAttribute("Version", $"[{packageVersion}]");
packageReferenceElement.SetAttribute("PrivateAssets", "None");
itemGroupElement.AppendChild(packageReferenceElement);

View File

@ -0,0 +1,76 @@
// 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.
// Sourced from https://github.com/dotnet/core-setup/tree/be8d8e3486b2bf598ed69d39b1629a24caaba45e/tools-local/tasks, needs to be kept in sync
using System;
using System.IO;
using System.Linq;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Microsoft.Extensions.DependencyModel;
using NuGet.Common;
using NuGet.ProjectModel;
using RepoTasks.Utilities;
namespace RepoTasks
{
public partial class ProcessSharedFrameworkDeps : Task
{
[Required]
public string AssetsFilePath { get; set; }
[Required]
public string DepsFilePath { get; set; }
public string[] PackagesToRemove { get; set; }
[Required]
public string Runtime { get; set; }
public override bool Execute()
{
ExecuteCore();
return true;
}
private void ExecuteCore()
{
DependencyContext context;
using (var depsStream = File.OpenRead(DepsFilePath))
{
context = new DependencyContextJsonReader().Read(depsStream);
}
LockFile lockFile = LockFileUtilities.GetLockFile(AssetsFilePath, NullLogger.Instance);
if (lockFile == null)
{
throw new ArgumentException($"Could not load a LockFile at '{AssetsFilePath}'.", nameof(AssetsFilePath));
}
var manager = new RuntimeGraphManager();
var graph = manager.Collect(lockFile);
var expandedGraph = manager.Expand(graph, Runtime);
var trimmedRuntimeLibraries = context.RuntimeLibraries;
if (PackagesToRemove != null && PackagesToRemove.Any())
{
trimmedRuntimeLibraries = RuntimeReference.RemoveReferences(context.RuntimeLibraries, PackagesToRemove);
}
context = new DependencyContext(
context.Target,
context.CompilationOptions,
context.CompileLibraries,
trimmedRuntimeLibraries,
expandedGraph
);
using (var depsStream = File.Create(DepsFilePath))
{
new DependencyContextWriter().Write(context, depsStream);
}
}
}
}

View File

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

View File

@ -16,4 +16,5 @@
<UsingTask TaskName="RepoTasks.ComposeNewStore" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.ConsolidateManifests" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.ReplaceInFile" AssemblyFile="$(_RepoTaskAssembly)" />
<UsingTask TaskName="RepoTasks.ProcessSharedFrameworkDeps" AssemblyFile="$(_RepoTaskAssembly)" />
</Project>

View File

@ -0,0 +1,66 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// Sourced from https://github.com/dotnet/core-setup/tree/be8d8e3486b2bf598ed69d39b1629a24caaba45e/tools-local/tasks, needs to be kept in sync
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Microsoft.Extensions.DependencyModel;
using NuGet.Frameworks;
using NuGet.Packaging;
using NuGet.ProjectModel;
using NuGet.RuntimeModel;
namespace RepoTasks.Utilities
{
internal class RuntimeGraphManager
{
private const string RuntimeJsonFileName = "runtime.json";
public RuntimeGraph Collect(LockFile lockFile)
{
string userPackageFolder = lockFile.PackageFolders.FirstOrDefault()?.Path;
var fallBackFolders = lockFile.PackageFolders.Skip(1).Select(f => f.Path);
var packageResolver = new FallbackPackagePathResolver(userPackageFolder, fallBackFolders);
var graph = RuntimeGraph.Empty;
foreach (var library in lockFile.Libraries)
{
if (string.Equals(library.Type, "package", StringComparison.OrdinalIgnoreCase))
{
var runtimeJson = library.Files.FirstOrDefault(f => f == RuntimeJsonFileName);
if (runtimeJson != null)
{
var libraryPath = packageResolver.GetPackageDirectory(library.Name, library.Version);
var runtimeJsonFullName = Path.Combine(libraryPath, runtimeJson);
graph = RuntimeGraph.Merge(graph, JsonRuntimeFormat.ReadRuntimeGraph(runtimeJsonFullName));
}
}
}
return graph;
}
public IEnumerable<RuntimeFallbacks> Expand(RuntimeGraph runtimeGraph, string runtime)
{
var importers = FindImporters(runtimeGraph, runtime);
foreach (var importer in importers)
{
// ExpandRuntime return runtime itself as first item so we are skiping it
yield return new RuntimeFallbacks(importer, runtimeGraph.ExpandRuntime(importer).Skip(1));
}
}
private IEnumerable<string> FindImporters(RuntimeGraph runtimeGraph, string runtime)
{
foreach (var runtimePair in runtimeGraph.Runtimes)
{
var expanded = runtimeGraph.ExpandRuntime(runtimePair.Key);
if (expanded.Contains(runtime))
{
yield return runtimePair.Key;
}
}
}
}
}

View File

@ -0,0 +1,63 @@
// 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.
// Sourced from https://github.com/dotnet/core-setup/tree/be8d8e3486b2bf598ed69d39b1629a24caaba45e/tools-local/tasks, needs to be kept in sync
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Extensions.DependencyModel;
namespace RepoTasks.Utilities
{
internal class RuntimeReference
{
public static List<RuntimeLibrary> RemoveReferences(IReadOnlyList<RuntimeLibrary> runtimeLibraries, IEnumerable<string> packages)
{
List<RuntimeLibrary> result = new List<RuntimeLibrary>();
foreach (var runtimeLib in runtimeLibraries)
{
if (string.IsNullOrEmpty(packages.FirstOrDefault(elem => runtimeLib.Name.Equals(elem, StringComparison.OrdinalIgnoreCase))))
{
List<Dependency> toRemoveDependecy = new List<Dependency>();
foreach (var dependency in runtimeLib.Dependencies)
{
if (!string.IsNullOrEmpty(packages.FirstOrDefault(elem => dependency.Name.Equals(elem, StringComparison.OrdinalIgnoreCase))))
{
toRemoveDependecy.Add(dependency);
}
}
if (toRemoveDependecy.Count > 0)
{
List<Dependency> modifiedDependencies = new List<Dependency>();
foreach (var dependency in runtimeLib.Dependencies)
{
if (!toRemoveDependecy.Contains(dependency))
{
modifiedDependencies.Add(dependency);
}
}
result.Add(new RuntimeLibrary(runtimeLib.Type,
runtimeLib.Name,
runtimeLib.Version,
runtimeLib.Hash,
runtimeLib.RuntimeAssemblyGroups,
runtimeLib.NativeLibraryGroups,
runtimeLib.ResourceAssemblies,
modifiedDependencies,
runtimeLib.Serviceable));
}
else if (string.IsNullOrEmpty(packages.FirstOrDefault(elem => runtimeLib.Name.Equals(elem, StringComparison.OrdinalIgnoreCase))))
{
result.Add(runtimeLib);
}
}
}
return result;
}
}
}

View File

@ -1,2 +0,0 @@
* DATE MAINTAINER_NAME <MAINTAINER_EMAIL> - PACKAGE_VERSION-PACKAGE_REVISION
-

View File

@ -0,0 +1,2 @@
* ${DATE} ${MAINTAINER_NAME} <${MAINTAINER_EMAIL}> - ${PACKAGE_VERSION}-${PACKAGE_REVISION}
-

View File

@ -1,17 +1,17 @@
{
"maintainer_name": "Microsoft",
"maintainer_email": "nugetaspnet@microsoft.com",
"maintainer_name": "${MAINTAINER_NAME}",
"maintainer_email": "${MAINTAINER_EMAIL}",
"package_name": "dotnet-hosting",
"install_root": "/usr/share/dotnet",
"package_name": "${PACKAGE_NAME}",
"install_root": "${INSTALL_ROOT}",
"short_description": "Microsoft .NET Core DEB_VERSION Linux Server Hosting",
"long_description": "Microsoft .NET Core Linux Server Hosting enables hosting of ASP.NET Core applications and contains the ASP.NET Core Runtime Package Store and .NET Core Runtime. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs.",
"homepage": "https://www.asp.net/",
"short_description": "${SHORT_DESCRIPTION}",
"long_description": "${LONG_DESCRIPTION}",
"homepage": "${HOMEPAGE}",
"release":{
"package_version":"0.0.0.0",
"package_revision":"1",
"package_revision":"${PACKAGE_REVISION}",
"urgency" : "low",
"changelog_message" : ""
},
@ -24,12 +24,11 @@
"copyright": "Microsoft",
"license": {
"type": "Apache-2.0",
"type": "${LICENSE_TYPE}",
"full_text": "Copyright (c) .NET Foundation. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthese files except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License."
},
"debian_dependencies": {
"dotnet-runtime-DOTNET_VERSION": {},
"aspnetcore-store-DEB_VERSION": {}
${DEBIAN_DEPENDENCIES}
}
}

View File

@ -3,9 +3,9 @@
<Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''"/>
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<EnableApiCheck>false</EnableApiCheck>
<DotnetCliToolTargetFramework>netcoreapp2.0</DotnetCliToolTargetFramework>
<DotnetCliToolTargetFramework>netcoreapp2.1</DotnetCliToolTargetFramework>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<RestoreSources>$(RestoreSources);https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;</RestoreSources>
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">

View File

@ -0,0 +1,26 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''" />
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
<RestoreSources>$(DotNetRestoreSources)</RestoreSources>
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">
$(RestoreSources);
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json;
https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
</RestoreSources>
<RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
$(RestoreSources);
https://api.nuget.org/v3/index.json;
</RestoreSources>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.All" Version="$(PackageVersion)" />
<PackageReference Include="Microsoft.NETCore.App" Version="$(RuntimeFrameworkVersion)"/>
</ItemGroup>
</Project>

View File

@ -16,16 +16,14 @@
<IncludeBuildOutput>false</IncludeBuildOutput>
<IncludeSymbols>false</IncludeSymbols>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PackageTags>aspnetcore</PackageTags>
<Description>Microsoft.AspNetCore.All</Description>
<EnableApiCheck>false</EnableApiCheck>
<RuntimeFrameworkVersion>$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<Content Include="build\**\*.xml" PackagePath="%(Identity)" />
<Content Include="build\**\*.targets" PackagePath="%(Identity)" />
<Content Include="build\**\*.props" PackagePath="%(Identity)" />
<Content Include="lib\$(TargetFramework)\_._" PackagePath="%(Identity)" />
</ItemGroup>

View File

@ -1,29 +0,0 @@
<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

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

View File

@ -1,171 +0,0 @@
<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

@ -1,171 +0,0 @@
<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

@ -1,172 +0,0 @@
<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

@ -1,172 +0,0 @@
<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

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

View File

@ -0,0 +1,5 @@
<Project>
<PropertyGroup>
<MicrosoftNETPlatformLibrary>Microsoft.AspNetCore.All</MicrosoftNETPlatformLibrary>
</PropertyGroup>
</Project>