Merge branch 'release/2.2'
This commit is contained in:
commit
5e4166f940
|
|
@ -6,6 +6,8 @@ trigger:
|
|||
exclude:
|
||||
- release/2.0
|
||||
|
||||
name: $(Date:yyMMdd)-$(Rev:rr)
|
||||
|
||||
phases:
|
||||
- phase: Windows
|
||||
queue:
|
||||
|
|
@ -42,6 +44,8 @@ phases:
|
|||
displayName: Build NuGet packages and win-x64 runtime
|
||||
- script: build.cmd -ci /p:SkipTests=true /p:Configuration=$(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber) /t:BuildSharedFx /p:SharedFxRID=win-x86
|
||||
displayName: Build win-x86 runtime
|
||||
- script: build.cmd -ci /p:SkipTests=true /p:Configuration=$(BuildConfiguration) /p:BuildNumber=$(Build.BuildNumber) /t:BuildSharedFx /p:SharedFxRID=win-arm
|
||||
displayName: Build win-arm runtime
|
||||
- powershell: >
|
||||
src/Installers/Windows/clone_and_build_ancm.ps1
|
||||
-GitCredential '$(dn-bot-devdiv-build-rw-code-rw)'
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ trigger:
|
|||
branches:
|
||||
include:
|
||||
- release/2.2
|
||||
paths:
|
||||
include:
|
||||
- src/SiteExtensions
|
||||
|
||||
name: $(Date:yyMMdd)-$(Rev:rr)
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ charset = utf-8
|
|||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.{cs}]
|
||||
[*.cs]
|
||||
indent_size = 4
|
||||
dotnet_sort_system_directives_first = true:warning
|
||||
|
||||
|
|
|
|||
|
|
@ -3,12 +3,32 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<Product>Microsoft ASP.NET Core</Product>
|
||||
|
||||
<Authors>Microsoft</Authors>
|
||||
<Company>Microsoft Corporation.</Company>
|
||||
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
|
||||
<NeutralLanguage>en-US</NeutralLanguage>
|
||||
<PackageLicenseUrl>https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt</PackageLicenseUrl>
|
||||
<PackageIconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</PackageIconUrl>
|
||||
<PackageProjectUrl>https://asp.net</PackageProjectUrl>
|
||||
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
|
||||
<Serviceable>true</Serviceable>
|
||||
|
||||
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
|
||||
<RepositoryUrl>https://github.com/aspnet/AspNetCore</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)eng\AspNetCore.snk</AssemblyOriginatorKeyFile>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
|
||||
<!-- Instructs the compiler to use SHA256 instead of SHA1 when adding file hashes to PDBs. -->
|
||||
<ChecksumAlgorithm>SHA256</ChecksumAlgorithm>
|
||||
<!-- Suppress the message about using a preview version of .NET Core SDK. We are okay with this and don't need the warning. -->
|
||||
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
|
||||
|
||||
<!-- Fixes a common error in targets implementing a NoBuild mode. -->
|
||||
<BuildProjectReferences Condition=" '$(NoBuild)' == 'true' ">false</BuildProjectReferences>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="build\external-dependencies.props" />
|
||||
|
|
@ -17,12 +37,31 @@
|
|||
<PropertyGroup>
|
||||
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepositoryRoot)artifacts\</ArtifactsDir>
|
||||
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
|
||||
<ArtifactsBinDir>$(ArtifactsConfigurationDir)bin\</ArtifactsBinDir>
|
||||
<PackageOutputPath>$(ArtifactsConfigurationDir)packages\</PackageOutputPath>
|
||||
<InstallersOutputPath>$(ArtifactsConfigurationDir)installers\</InstallersOutputPath>
|
||||
<PackageOutputPath>$(ArtifactsDir)build\</PackageOutputPath>
|
||||
|
||||
<!-- Defines the default RID of the platform currently running the build. -->
|
||||
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</HostRid>
|
||||
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</HostRid>
|
||||
<HostRid Condition=" '$(HostRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</HostRid>
|
||||
|
||||
<!-- This defines the list of RIDs supported by the ASP.NET Core shared framework. -->
|
||||
<SupportedRuntimeIdentifiers>
|
||||
win-x64;
|
||||
win-x86;
|
||||
win-arm;
|
||||
osx-x64;
|
||||
linux-musl-x64;
|
||||
linux-x64;
|
||||
linux-arm
|
||||
</SupportedRuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="eng\targets\Wix.Common.props" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
|
||||
<Import Project="eng\targets\Cpp.Common.props" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />
|
||||
<Import Project="eng\targets\SharedFx.Common.props" Condition="'$(MSBuildProjectExtension)' == '.shfxproj'" />
|
||||
<Import Project="eng\targets\Wix.Common.props" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<NETCoreAppMaximumVersion>99.9</NETCoreAppMaximumVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="eng\targets\Wix.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
|
||||
<Import Project="eng\targets\Cpp.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'" />
|
||||
<Import Project="eng\targets\SharedFx.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.shfxproj'" />
|
||||
<Import Project="eng\targets\Wix.Common.targets" Condition="'$(MSBuildProjectExtension)' == '.wixproj'" />
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,39 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26124.0
|
||||
MinimumVisualStudioVersion = 15.0.26124.0
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{EE2CAA71-82AA-41C0-AE87-5B4FB77D6CFE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharedFx.UnitTests", "test\SharedFx.UnitTests\SharedFx.UnitTests.csproj", "{99CC38EC-902B-4B3F-AD33-177018110199}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|x64.Build.0 = Release|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{99CC38EC-902B-4B3F-AD33-177018110199} = {EE2CAA71-82AA-41C0-AE87-5B4FB77D6CFE}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win-x64</SharedFxRid>
|
||||
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx-x64</SharedFxRid>
|
||||
<SharedFxRid Condition=" '$(SharedFxRid)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux-x64</SharedFxRid>
|
||||
|
||||
<!-- directories -->
|
||||
<_WorkRoot>$(RepositoryRoot).w\$(SharedFxRID)\</_WorkRoot>
|
||||
<_WorkLayoutDir>$(_WorkRoot).l\</_WorkLayoutDir>
|
||||
|
|
@ -13,17 +17,10 @@
|
|||
<_SymbolsSourceDir>$(RepositoryRoot).deps\symbols\</_SymbolsSourceDir>
|
||||
<_DockerRootDir>/opt/code/</_DockerRootDir>
|
||||
<_InstallersOutputDir>$(ArtifactsDir)installers\</_InstallersOutputDir>
|
||||
<!-- 3B = semicolon in ASCII -->
|
||||
<PathSeparator Condition="'$(PathSeparator)' == ''">:</PathSeparator>
|
||||
<PathSeparator Condition="$(SharedFxRID.StartsWith('win'))">%3B</PathSeparator>
|
||||
|
||||
<ArchiveExtension>.tar.gz</ArchiveExtension>
|
||||
<ArchiveExtension Condition="$(SharedFxRID.StartsWith('win'))">.zip</ArchiveExtension>
|
||||
|
||||
<LibPrefix Condition="$([MSBuild]::IsOSPlatform('Linux')) OR $([MSBuild]::IsOSPlatform('OSX'))">lib</LibPrefix>
|
||||
<LibExtension>.so</LibExtension>
|
||||
<LibExtension Condition="$([MSBuild]::IsOSPlatform('Windows'))">.dll</LibExtension>
|
||||
<LibExtension Condition="$([MSBuild]::IsOSPlatform('OSX'))">.dylib</LibExtension>
|
||||
<ExeExtension Condition="$([MSBuild]::IsOSPlatform('Windows'))">.exe</ExeExtension>
|
||||
<SharedFrameworkTargetFramework>netcoreapp3.0</SharedFrameworkTargetFramework>
|
||||
|
||||
<!-- installers -->
|
||||
|
|
@ -68,7 +65,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<WindowsSharedFxRIDs Include="win-x64;win-x86"/>
|
||||
<WindowsSharedFxRIDs Include="win-x64;win-x86;win-arm"/>
|
||||
<NonWindowsSharedFxRIDs Include="osx-x64" CrossgenSymbols="false" />
|
||||
<NonWindowsSharedFxRIDs Include="linux-musl-x64" />
|
||||
<NonWindowsSharedFxRIDs Include="linux-x64" />
|
||||
|
|
|
|||
|
|
@ -2,558 +2,69 @@
|
|||
<Import Project="SharedFx.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<SharedFxOutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))runtime\</SharedFxOutputPath>
|
||||
<UnitTestFxProject>$(RepositoryRoot)src\Framework\Framework.UnitTests\Framework.UnitTests.csproj</UnitTestFxProject>
|
||||
<UnitTestFxProject>$([MSBuild]::NormalizePath($(UnitTestFxProject)))</UnitTestFxProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GetMetapackageArtifactInfo">
|
||||
<ItemGroup>
|
||||
<_MetapackageProject Include="$(RepositoryRoot)src\Packages\Microsoft.AspNetCore.All\Microsoft.AspNetCore.All.csproj" />
|
||||
<_MetapackageProject Include="$(RepositoryRoot)src\Packages\Microsoft.AspNetCore.App\Microsoft.AspNetCore.App.csproj" />
|
||||
<_MetapackageProject Include="$(RepositoryRoot)src\Packages\Microsoft.AspNetCore.Analyzers\Microsoft.AspNetCore.Analyzers.csproj" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src\Framework\**\*.pkgproj" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src\Framework\**\*.shfxproj" />
|
||||
<ProjectToBuild Include="$(UnitTestFxProject)" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src\Installers\Archive.Internal\*.*proj" />
|
||||
<ProjectToBuild Include="$(RepositoryRoot)src\Installers\Archive.Redist\*.*proj" />
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild Projects="@(_MetapackageProject)"
|
||||
Targets="GetArtifactInfo"
|
||||
Properties="PackageOutputPath=$(BuildDir);BuildNumber=$(BuildNumber);DesignTimeBuild=true;IsFinalBuild=$(IsFinalBuild)">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
|
||||
</MSBuild>
|
||||
<Target Name="BuildSharedFx" DependsOnTargets="_BuildSharedFxProjects;TestSharedFx"/>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Cartesian products in MSBuild are fun :) -->
|
||||
<_SharedFrameworkSymbolsPackage Include="@(SharedFrameworkName)" Condition="'%(AllSharedFxRIDs.CrossgenSymbols)' != 'false' AND '%(AllSharedFxRIDs.Crossgen)' != 'false'">
|
||||
<Rid>%(AllSharedFxRIDs.Identity)</Rid>
|
||||
</_SharedFrameworkSymbolsPackage>
|
||||
<_SharedFrameworkSymbolsPackage Update="@(_SharedFrameworkSymbolsPackage)" PackageId="runtime.%(Rid).%(Identity)" />
|
||||
<ArtifactInfo Include="@(_SharedFrameworkSymbolsPackage->'$(BuildDir)%(PackageId).$(PackageVersion).symbols.nupkg')">
|
||||
<ArtifactType>NuGetSymbolsPackage</ArtifactType>
|
||||
<PackageId>%(_SharedFrameworkSymbolsPackage.PackageId)</PackageId>
|
||||
<Version>$(PackageVersion)</Version>
|
||||
<Category>shipoob</Category>
|
||||
</ArtifactInfo>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildMetapackage" DependsOnTargets="ResolveRepoInfo">
|
||||
<PropertyGroup>
|
||||
<MetapackageSource>$(_MetapackageSrcRoot)$(MetapackageName)\</MetapackageSource>
|
||||
<MetapackageWorkDirectory>$(_WorkRoot)pkg\$(MetapackageName)\</MetapackageWorkDirectory>
|
||||
<CommonProps />
|
||||
<CommonProps>$(CommonProps);Configuration=$(Configuration)</CommonProps>
|
||||
<CommonProps>$(CommonProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)</CommonProps>
|
||||
<CommonProps>$(CommonProps);DotNetBuildOffline=true</CommonProps>
|
||||
<CommonProps>$(CommonProps);AspNetUniverseBuildOffline=true</CommonProps>
|
||||
<CommonProps>$(CommonProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp30PackageVersion)</CommonProps>
|
||||
<CommonProps>$(CommonProps);AppMetapackageVersion=$(PackageVersion)</CommonProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<Error
|
||||
Text="Source directory $(MetapackageSource) for $(MetapackageName) does not exist."
|
||||
Condition="!Exists('$(MetapackageSource)')" />
|
||||
|
||||
<ItemGroup>
|
||||
<MetapackageFiles Include="$(MetapackageSource)**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Clear working directory -->
|
||||
<RemoveDir Directories="$(MetapackageWorkDirectory)" />
|
||||
|
||||
<!-- Move to working dir -->
|
||||
<Copy SourceFiles="@(MetapackageFiles)" DestinationFolder="$(MetapackageWorkDirectory)%(RecursiveDir)" />
|
||||
<Copy SourceFiles="$(_MetapackageSrcRoot)Directory.Build.props" DestinationFolder="$(_WorkRoot)" />
|
||||
|
||||
<!-- Add references to project -->
|
||||
<RepoTasks.AddMetapackageReferences
|
||||
ReferencePackagePath="$(MetapackageWorkDirectory)$(MetapackageName).csproj"
|
||||
MetapackageReferenceType="$(MetapackageReferenceType)"
|
||||
DependencyVersionRangeType="$(MetapackageDependencyVersionRangeType)"
|
||||
PackageArtifacts="@(_PackageArtifactSpec)"
|
||||
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)$(MetapackageName).csproj" Targets="Restore" Properties="$(CommonProps);_Target=Restore" />
|
||||
<!-- Pack -->
|
||||
<MSBuild Projects="$(MetapackageWorkDirectory)$(MetapackageName).csproj" Targets="Pack" Properties="$(CommonProps);PackageOutputPath=$(BuildDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildMetapackages">
|
||||
<ItemGroup>
|
||||
<_MetapackageBuilderProject Include="$(MSBuildProjectFullPath)">
|
||||
<AdditionalProperties>
|
||||
MetapackageName=Microsoft.AspNetCore.App;
|
||||
MetapackageReferenceType=AppMetapackage;
|
||||
MetapackageDependencyVersionRangeType=MajorMinor
|
||||
</AdditionalProperties>
|
||||
</_MetapackageBuilderProject>
|
||||
|
||||
<_MetapackageBuilderProject Include="$(MSBuildProjectFullPath)">
|
||||
<AdditionalProperties>
|
||||
MetapackageName=Microsoft.AspNetCore.All;
|
||||
MetapackageReferenceType=AllMetapackage;
|
||||
MetapackageDependencyVersionRangeType=Minimum
|
||||
</AdditionalProperties>
|
||||
</_MetapackageBuilderProject>
|
||||
|
||||
<_MetapackageBuilderProject Include="$(MSBuildProjectFullPath)">
|
||||
<AdditionalProperties>
|
||||
MetapackageName=Microsoft.AspNetCore.Analyzers;
|
||||
MetapackageReferenceType=Analyzer;
|
||||
MetapackageDependencyVersionRangeType=Minimum
|
||||
</AdditionalProperties>
|
||||
</_MetapackageBuilderProject>
|
||||
</ItemGroup>
|
||||
|
||||
<MSBuild
|
||||
Projects="@(_MetapackageBuilderProject)"
|
||||
Targets="_BuildMetapackage"
|
||||
BuildInParallel="false" />
|
||||
</Target>
|
||||
|
||||
<Target Name="DefineSharedFxPrerequisites" DependsOnTargets="ResolveCommitHash">
|
||||
<PropertyGroup>
|
||||
<RIDIsAcceptable Condition="'%(AllSharedFxRIDs.Identity)' == '$(SharedFxRID)'">true</RIDIsAcceptable>
|
||||
<CrossGenSharedFx>false</CrossGenSharedFx>
|
||||
<CrossGenSharedFx Condition="'%(AllSharedFxRIDs.Identity)' == '$(SharedFxRID)' AND '%(AllSharedFxRIDs.Crossgen)' != 'false' ">true</CrossGenSharedFx>
|
||||
<CrossGenSharedFxSymbols>false</CrossGenSharedFxSymbols>
|
||||
<CrossGenSharedFxSymbols Condition="'$(CrossGenSharedFx)' != 'false' AND '%(AllSharedFxRIDs.Identity)' == '$(SharedFxRID)' AND '%(AllSharedFxRIDs.CrossgenSymbols)' != 'false' ">true</CrossGenSharedFxSymbols>
|
||||
</PropertyGroup>
|
||||
|
||||
<Error Text=""$(SharedFxRID)" not acceptable as a SharedFxRID, please specify an acceptable value: {@(AllSharedFxRIDs)}." Condition="'$(RIDIsAcceptable)' != 'true'"/>
|
||||
<Target Name="_BuildSharedFxProjects" DependsOnTargets="GeneratePropsFiles;ResolveCommitHash">
|
||||
|
||||
<PropertyGroup>
|
||||
<AppSharedFxWorkDirectory>$(_WorkRoot)AppSharedFx\</AppSharedFxWorkDirectory>
|
||||
<AllSharedFxWorkDirectory>$(_WorkRoot)AllSharedFx\</AllSharedFxWorkDirectory>
|
||||
<SharedFxIntermediateOutputPath>$(_WorkRoot)Publish\</SharedFxIntermediateOutputPath>
|
||||
<SharedFxCrossGenDirectory>$(_WorkRoot)CrossGen\</SharedFxCrossGenDirectory>
|
||||
<SharedFxCrossGenSymbolsDirectory>$(_WorkRoot)CrossGenSymbols\</SharedFxCrossGenSymbolsDirectory>
|
||||
<SharedFxCrossGenToolDirectory>$(_WorkRoot)CrossGenTool\</SharedFxCrossGenToolDirectory>
|
||||
<SharedFxCrossGenRspDirectory>$(_WorkRoot)CrossGenRsp\</SharedFxCrossGenRspDirectory>
|
||||
<AppSharedFxPublishDirectory>$(SharedFxIntermediateOutputPath)shared\Microsoft.AspNetCore.App\$(PackageVersion)\</AppSharedFxPublishDirectory>
|
||||
<AllSharedFxPublishDirectory>$(SharedFxIntermediateOutputPath)shared\Microsoft.AspNetCore.All\$(PackageVersion)\</AllSharedFxPublishDirectory>
|
||||
<SharedFxRestoreRid>$(SharedFxRID)</SharedFxRestoreRid>
|
||||
|
||||
<!-- 3B = semicolon in ASCII -->
|
||||
<PathSeparator Condition="'$(PathSeparator)' == ''">:</PathSeparator>
|
||||
<PathSeparator Condition="$(SharedFxRID.StartsWith('win'))">%3B</PathSeparator>
|
||||
|
||||
<CommonSharedFxProps>Configuration=$(Configuration);RuntimeIdentifier=$(SharedFxRestoreRid)</CommonSharedFxProps>
|
||||
<CommonSharedFxProps>$(CommonSharedFxProps);DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath)</CommonSharedFxProps>
|
||||
<CommonSharedFxProps>$(CommonSharedFxProps);DotNetBuildOffline=true</CommonSharedFxProps>
|
||||
<CommonSharedFxProps>$(CommonSharedFxProps);AspNetUniverseBuildOffline=true</CommonSharedFxProps>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="_PrepareForSharedFx" DependsOnTargets="DefineSharedFxPrerequisites">
|
||||
<PropertyGroup>
|
||||
<RestoreProps>$(CommonSharedFxProps)</RestoreProps>
|
||||
<RestoreProps>$(RestoreProps);SharedFxPackage=$(SharedFxPackage)</RestoreProps>
|
||||
<RestoreProps>$(RestoreProps);SharedFxPackageVersion=$(PackageVersion)</RestoreProps>
|
||||
<RestoreProps>$(RestoreProps);SharedFxBase=$(SharedFxBase)</RestoreProps>
|
||||
<RestoreProps>$(RestoreProps);SharedFxBaseVersion=$(SharedFxBaseVersion)</RestoreProps>
|
||||
<_RestoreGraphProjectInput>@(ProjectToBuild)</_RestoreGraphProjectInput>
|
||||
<SharedFxBuildProperties>
|
||||
$(SolutionProperties);
|
||||
SharedFxRid=$(SharedFxRid);
|
||||
DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);
|
||||
DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath)
|
||||
</SharedFxBuildProperties>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Copy to working dir -->
|
||||
<ItemGroup>
|
||||
<SharedFxFiles Include="$(_TemplatesDir)SharedFx\**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SharedFxFiles)" DestinationFolder="$(SharedFxWorkDirectory)\%(RecursiveDir)" />
|
||||
|
||||
<!-- 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"
|
||||
<MSBuild Projects="$(MSBuildToolsPath)\NuGet.targets"
|
||||
Targets="Restore"
|
||||
Properties="$(RestoreProps);_Target=Restore;RestoreForce=true" />
|
||||
Properties="$(SharedFxBuildProperties);RestoreGraphProjectInput=$(_RestoreGraphProjectInput);_DummyTarget=Restore" />
|
||||
|
||||
<MSBuild Projects="@(ProjectToBuild)"
|
||||
Properties="$(SharedFxBuildProperties)"
|
||||
BuildInParallel="true" />
|
||||
|
||||
<MSBuild Projects="@(ProjectToBuild)"
|
||||
Targets="Pack"
|
||||
Properties="$(SharedFxBuildProperties);NoBuild=true"
|
||||
BuildInParallel="true"
|
||||
SkipNonexistentTargets="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareForSharedFx" DependsOnTargets="DefineSharedFxPrerequisites;ResolveCommitHash">
|
||||
<Target Name="TestSharedFx" DependsOnTargets="GeneratePropsFiles;InstallDotNet">
|
||||
<PropertyGroup>
|
||||
<AppSharedFxProps>RepositoryCommit=$(RepositoryCommit);SharedFxWorkDirectory=$(AppSharedFxWorkDirectory)</AppSharedFxProps>
|
||||
<AppSharedFxProps>$(AppSharedFxProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp30PackageVersion)</AppSharedFxProps>
|
||||
<AppSharedFxProps>$(AppSharedFxProps);SharedFxPackage=Microsoft.AspNetCore.App</AppSharedFxProps>
|
||||
<AllSharedFxProps>RepositoryCommit=$(RepositoryCommit);SharedFxWorkDirectory=$(AllSharedFxWorkDirectory)</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);RuntimeFrameworkVersion=$(MicrosoftNETCoreApp30PackageVersion)</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);SharedFxPackage=Microsoft.AspNetCore.All</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);SharedFxDep=Microsoft.AspNetCore.App</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);SharedFxDepVersion=$(PackageVersion)</AllSharedFxProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Clear working directory -->
|
||||
<!-- <RemoveDir Directories="$(_WorkRoot)" /> -->
|
||||
|
||||
<Copy SourceFiles="$(_MetapackageSrcRoot)Directory.Build.props" DestinationFolder="$(_WorkRoot)" />
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_PrepareForSharedFx" Properties="$(AppSharedFxProps)" />
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_PrepareForSharedFx" Properties="$(AllSharedFxProps)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_ResolveSharedFxFiles" DependsOnTargets="DefineSharedFxPrerequisites">
|
||||
<ItemGroup>
|
||||
<VersionLines Include="$(RepositoryCommit)" />
|
||||
<VersionLines Include="$(PackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Publish -->
|
||||
<MSBuild Projects="$(SharedFxWorkDirectory)SharedFx.csproj"
|
||||
Targets="Publish"
|
||||
Properties="$(CommonSharedFxProps);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)\$(SharedFxPackage).deps.json" />
|
||||
|
||||
<!-- Rename runtimeconfig.json file -->
|
||||
<Move SourceFiles="$(SharedFxPublishDirectory)\SharedFx.runtimeconfig.json"
|
||||
DestinationFiles="$(SharedFxPublishDirectory)\$(SharedFxPackage).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)\$(SharedFxPackage).deps.json"
|
||||
Runtime="$(RuntimeGraphGeneratorRuntime)" />
|
||||
|
||||
<!-- Generate .version file -->
|
||||
<WriteLinesToFile
|
||||
File="$(SharedFxPublishDirectory)\.version"
|
||||
Lines="@(VersionLines)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ResolveSharedFxFiles" DependsOnTargets="PrepareForSharedFx">
|
||||
<PropertyGroup>
|
||||
<AppSharedFxProps>SharedFxPackage=Microsoft.AspNetCore.App</AppSharedFxProps>
|
||||
<AppSharedFxProps>$(AppSharedFxProps);SharedFxWorkDirectory=$(AppSharedFxWorkDirectory)</AppSharedFxProps>
|
||||
<AppSharedFxProps>$(AppSharedFxProps);SharedFxPublishDirectory=$(AppSharedFxPublishDirectory)</AppSharedFxProps>
|
||||
<AllSharedFxProps>SharedFxPackage=Microsoft.AspNetCore.All</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);SharedFxWorkDirectory=$(AllSharedFxWorkDirectory)</AllSharedFxProps>
|
||||
<AllSharedFxProps>$(AllSharedFxProps);SharedFxPublishDirectory=$(AllSharedFxPublishDirectory)</AllSharedFxProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_ResolveSharedFxFiles" Properties="$(AppSharedFxProps)" />
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_ResolveSharedFxFiles" Properties="$(AllSharedFxProps)" />
|
||||
|
||||
<MakeDir Directories="$(SharedFxOutputPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareForCrossGen" DependsOnTargets="PrepareForSharedFx;ResolveSharedFxFiles">
|
||||
<PropertyGroup>
|
||||
<RuntimePackageName>Microsoft.NETCore.App</RuntimePackageName>
|
||||
<CrossGenTool>crossgen</CrossGenTool>
|
||||
<CrossGenTool Condition="$([MSBuild]::IsOSPlatform('Windows'))">$(CrossGenTool).exe</CrossGenTool>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Determine runtime location (via .App shared framework) -->
|
||||
<MSBuild Projects="$(AppSharedFxWorkDirectory)SharedFx.csproj" Targets="GetPackageDefinitions" >
|
||||
<Output TaskParameter="TargetOutputs" ItemName="PackageDefinitions" />
|
||||
</MSBuild>
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimePackage Include="@(PackageDefinitions)" Condition="$([System.String]::new('%(PackageDefinitions.Name)').Contains('runtime')) AND $([System.String]::new('%(PackageDefinitions.Name)').Contains('$(RuntimePackageName)'))" />
|
||||
<RuntimePackageFiles Include="%(RuntimePackage.ResolvedPath)\runtimes\**\*" />
|
||||
<CrossGenToolFile Include="%(RuntimePackage.ResolvedPath)\**\$(CrossGenTool)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Could not identify the runtime package for $(SharedFXRid)" Condition="@(RuntimePackage->Count()) == 0" />
|
||||
|
||||
<!-- Create tool directory with crossgen executable and runtime assemblies -->
|
||||
<Copy SourceFiles="@(RuntimePackageFiles);@(CrossGenToolFile)" DestinationFolder="$(SharedFxCrossGenToolDirectory)"/>
|
||||
|
||||
<ItemGroup>
|
||||
<ClrJitAssembly Include="$(SharedFxCrossGenToolDirectory)\**\$(LibPrefix)clrjit$(LibExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Expected to resolve a single runtime package but instead resolved @(RuntimePackage->Count()) with identities %(RuntimePackage.Identity)" Condition="'@(RuntimePackage->Count())' != 1" />
|
||||
<Error Text="Could not find crossgen in %(RuntimePackage.ResolvedPath)" Condition="@(CrossGenToolFile->Count()) == 0" />
|
||||
<Error Text="Expected to resolve a single clr jit assembly but instead resolved @(ClrJitAssembly->Count()) with identities %(ClrJitAssembly.Identity)" Condition="'@(ClrJitAssembly->Count())' != 1" />
|
||||
|
||||
<!-- Gather details on published assemblies -->
|
||||
<MSBuild Projects="$(AppSharedFxWorkDirectory)SharedFx.csproj"
|
||||
Targets="GetPublishAssemblies"
|
||||
Properties="RuntimeIdentifier=$(SharedFxRestoreRid);SelfContained=false" >
|
||||
<Output TaskParameter="TargetOutputs" ItemName="AppPublishAssemblies" />
|
||||
</MSBuild>
|
||||
<MSBuild Projects="$(AllSharedFxWorkDirectory)SharedFx.csproj"
|
||||
Targets="GetPublishAssemblies"
|
||||
Properties="RuntimeIdentifier=$(SharedFxRestoreRid);SelfContained=false" >
|
||||
<Output TaskParameter="TargetOutputs" ItemName="AllPublishAssemblies" />
|
||||
</MSBuild>
|
||||
|
||||
<ItemGroup>
|
||||
<IgnoredAssemblies Include="@(AppPublishAssemblies);@(AllPublishAssemblies)" Condition="'%(AssetType)' == 'native' OR '%(AssetType)' == 'resources'" />
|
||||
<_AppRuntimeAssemblies Include="@(AppPublishAssemblies)" Condition="'%(AssetType)' == 'runtime'">
|
||||
<SymbolsPackageFilename>%(PackageName).%(PackageVersion).symbols.nupkg</SymbolsPackageFilename>
|
||||
<PortablePDB>%(RootDir)%(Directory)%(Filename).pdb</PortablePDB>
|
||||
</_AppRuntimeAssemblies>
|
||||
<_AllRuntimeAssemblies Include="@(AllPublishAssemblies)" Exclude="@(_AppRuntimeAssemblies)" Condition="'%(AssetType)' == 'runtime'">
|
||||
<SymbolsPackageFilename>%(PackageName).%(PackageVersion).symbols.nupkg</SymbolsPackageFilename>
|
||||
<PortablePDB>%(RootDir)%(Directory)%(Filename).pdb</PortablePDB>
|
||||
</_AllRuntimeAssemblies>
|
||||
<OtherAssemblies Include="@(AppPublishAssemblies);@(AllPublishAssemblies)" Exclude="@(IgnoredAssemblies);@(_AppRuntimeAssemblies);@(_AllRuntimeAssemblies)" />
|
||||
<_AssembliesToCrossgen Include="$(SharedFxIntermediateOutputPath)**\*.dll" />
|
||||
</ItemGroup>
|
||||
|
||||
<RepoTasks.ResolveSymbolsRecursivePath Symbols="@(_AppRuntimeAssemblies)">
|
||||
<Output TaskParameter="Symbols" ItemName="AppRuntimeAssemblies" />
|
||||
</RepoTasks.ResolveSymbolsRecursivePath>
|
||||
<RepoTasks.ResolveSymbolsRecursivePath Symbols="@(_AllRuntimeAssemblies)">
|
||||
<Output TaskParameter="Symbols" ItemName="AllRuntimeAssemblies" />
|
||||
</RepoTasks.ResolveSymbolsRecursivePath>
|
||||
|
||||
<Error Text="Unaccounted shared framework assemblies found: @(OtherAssemblies). Assemblies must be included as runtime assemblies or marked as ignored." Condition="'@(OtherAssemblies)' != ''" />
|
||||
|
||||
<!-- Compute the intersection of crossgen candidates and native/resources assemblies as the set of assemblies to skip crossgen -->
|
||||
<CreateItem Include="@(_AssembliesToCrossgen)" Condition="'%(Filename)' != ''and '@(IgnoredAssemblies)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AssembliesToRemove"/>
|
||||
</CreateItem>
|
||||
|
||||
<!-- Resolve list of assemblies to crossgen -->
|
||||
<ItemGroup>
|
||||
<AssembliesToCrossgen Include="@(_AssembliesToCrossgen)">
|
||||
<Source>%(FullPath)</Source>
|
||||
<Rsp>$(SharedFxCrossGenRspDirectory)%(RecursiveDir)%(Filename).rsp</Rsp>
|
||||
<SymbolsRsp>$(SharedFxCrossGenRspDirectory)%(RecursiveDir)%(Filename).symbols.rsp</SymbolsRsp>
|
||||
<Destination>$(SharedFxCrossGenDirectory)%(RecursiveDir)%(Filename)%(Extension)</Destination>
|
||||
<Symbols>$(SharedFxCrossGenDirectory)%(RecursiveDir)</Symbols>
|
||||
</AssembliesToCrossgen>
|
||||
<AssembliesToCrossgen Remove="@(AssembliesToRemove)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Compute the intersection of runtime assemblies and assemblies to crossgen to resolve the set of portablePDBs to publish -->
|
||||
<CreateItem Include="@(AppRuntimeAssemblies)" Condition="'%(Filename)' != ''and '@(AssembliesToCrossgen)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AppPortablePDBsToPublish"/>
|
||||
</CreateItem>
|
||||
<CreateItem Include="@(AllRuntimeAssemblies)" Condition="'%(Filename)' != ''and '@(AssembliesToCrossgen)' != ''">
|
||||
<Output TaskParameter="Include" ItemName="AllPortablePDBsToPublish"/>
|
||||
</CreateItem>
|
||||
</Target>
|
||||
|
||||
<Target Name="CrossGenAssemblies"
|
||||
DependsOnTargets="PrepareForCrossGen"
|
||||
Inputs="@(AssembliesToCrossgen)"
|
||||
Outputs="%(AssembliesToCrossgen.Destination)">
|
||||
<ItemGroup>
|
||||
<CrossGenArgs Include="-nologo" />
|
||||
<CrossGenArgs Include="-readytorun" />
|
||||
<CrossGenArgs Include="-in %(AssembliesToCrossgen.Source)" />
|
||||
<CrossGenArgs Include="-out %(AssembliesToCrossgen.Destination)" />
|
||||
<CrossGenArgs Include="-platform_assemblies_paths $(SharedFxCrossGenToolDirectory)$(PathSeparator)$(AppSharedFxPublishDirectory)$(PathSeparator)$(AllSharedFxPublishDirectory)" />
|
||||
<CrossGenArgs Include="-JITPath %(ClrJitAssembly.FullPath)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Rsp)'))" />
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Destination)'))" />
|
||||
<WriteLinesToFile File="%(AssembliesToCrossgen.Rsp)" Lines="@(CrossGenArgs)" Overwrite="true" />
|
||||
|
||||
<Copy Condition="'$(CrossGenSharedFx)' == 'false'"
|
||||
SourceFiles="%(AssembliesToCrossgen.Source)"
|
||||
DestinationFiles="%(AssembliesToCrossgen.Destination)" />
|
||||
<Exec Condition="'$(CrossGenSharedFx)' != 'false'"
|
||||
Command="$(SharedFxCrossGenToolDirectory)$(CrossGenTool) @%(AssembliesToCrossgen.Rsp)"
|
||||
EnvironmentVariables="COMPlus_PartialNGen=0" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CrossGenSymbols"
|
||||
Condition=" '$(CrossGenSharedFxSymbols)' != 'false' "
|
||||
DependsOnTargets="CrossGenAssemblies"
|
||||
Inputs="@(AssembliesToCrossgen)"
|
||||
Outputs="%(AssembliesToCrossgen.SymbolsRsp)">
|
||||
<PropertyGroup>
|
||||
<CrossGenSymbolsType>CreatePerfMap</CrossGenSymbolsType>
|
||||
<CrossGenSymbolsType Condition="'$(OS)' == 'Windows_NT'">CreatePDB</CrossGenSymbolsType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossGenSymbolsArgs Include="-nologo" />
|
||||
<CrossGenSymbolsArgs Include="-readytorun" />
|
||||
<CrossGenSymbolsArgs Include="-platform_assemblies_paths $(SharedFxCrossGenToolDirectory)$(PathSeparator)$(AppSharedFxPublishDirectory)$(PathSeparator)$(AllSharedFxPublishDirectory)" />
|
||||
<CrossGenSymbolsArgs Include="-$(CrossGenSymbolsType)" />
|
||||
<CrossGenSymbolsArgs Include="%(AssembliesToCrossgen.Symbols)" />
|
||||
<CrossGenSymbolsArgs Include="%(AssembliesToCrossgen.Destination)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Symbols)'))" />
|
||||
<WriteLinesToFile File="%(AssembliesToCrossgen.SymbolsRsp)" Lines="@(CrossGenSymbolsArgs)" Overwrite="true" />
|
||||
|
||||
<Exec Command="$(SharedFxCrossGenToolDirectory)$(CrossGenTool) @%(AssembliesToCrossgen.SymbolsRsp)" EnvironmentVariables="COMPlus_PartialNGen=0" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildSharedFxSymbols">
|
||||
<PropertyGroup>
|
||||
<SymbolsPackageId>runtime.$(SharedFxRID).$(SymbolsNuspecIdSuffix)</SymbolsPackageId>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_SymbolFiles Include="$(SymbolsWorkDir)**\*.pdb;$(SymbolsWorkDir)**\*.map;$(SymbolsWorkDir)**\*.dll" />
|
||||
<SymbolFiles Include="@(_SymbolFiles)">
|
||||
<PackagePath>%(RecursiveDir)%(Filename)%(Extension)</PackagePath>
|
||||
</SymbolFiles>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create Layout -->
|
||||
<Copy
|
||||
SourceFiles="$(_TemplatesDir)SharedFxSymbols\SharedFrameworkSymbols.nuspec"
|
||||
DestinationFiles="$(SymbolsWorkDir)$(SymbolsPackageId).nuspec"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
|
||||
<!-- Produce symbols nupkg -->
|
||||
<PackNuspec NuspecPath="$(SymbolsWorkDir)$(SymbolsPackageId).nuspec"
|
||||
OutputPath="$([MSBuild]::NormalizeDirectory($(ArtifactsDir)))symbols\$(SymbolsPackageId).$(PackageVersion).symbols.nupkg"
|
||||
Properties="version=$(PackageVersion);id=$(SymbolsPackageId);description=$(Description);Configuration=$(Configuration)"
|
||||
Overwrite="true"
|
||||
PackageFiles="@(SymbolFiles)"
|
||||
BasePath="$(SymbolsWorkDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PackSharedFx" DependsOnTargets="DefineSharedFxPrerequisites" >
|
||||
<PropertyGroup>
|
||||
<AppSharedFxCrossgenDirectory>$(SharedFxCrossGenDirectory)shared\Microsoft.AspNetCore.App\$(PackageVersion)\</AppSharedFxCrossgenDirectory>
|
||||
<AllSharedFxCrossgenDirectory>$(SharedFxCrossGenDirectory)shared\Microsoft.AspNetCore.All\$(PackageVersion)\</AllSharedFxCrossgenDirectory>
|
||||
<AppSharedFxSymbolsDirectory>$(_WorkRoot)Symbols\Microsoft.AspNetCore.App\</AppSharedFxSymbolsDirectory>
|
||||
<AllSharedFxSymbolsDirectory>$(_WorkRoot)Symbols\Microsoft.AspNetCore.All\</AllSharedFxSymbolsDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<AppCrossGenOutput Include="$(AppSharedFxCrossgenDirectory)**\*.dll" />
|
||||
<AllCrossGenOutput Include="$(AllSharedFxCrossgenDirectory)**\*.dll" />
|
||||
<AppCrossGenSymbols Include="$(AppSharedFxCrossgenDirectory)**\*" Exclude="@(AppCrossGenOutput)" />
|
||||
<AllCrossGenSymbols Include="$(AllSharedFxCrossgenDirectory)**\*" Exclude="@(AllCrossGenOutput)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Extract symbols package and copy over PDBs -->
|
||||
<UnzipArchive
|
||||
File="$(_SymbolsSourceDir)%(AppPortablePDBsToPublish.SymbolsPackageFilename)"
|
||||
Destination="$(_WorkRoot)SymbolsPackages\%(AppPortablePDBsToPublish.SymbolsPackageFilename)"
|
||||
Condition="Exists('$(_SymbolsSourceDir)%(AppPortablePDBsToPublish.SymbolsPackageFilename)')" />
|
||||
<UnzipArchive
|
||||
File="$(_SymbolsSourceDir)%(AllPortablePDBsToPublish.SymbolsPackageFilename)"
|
||||
Destination="$(_WorkRoot)SymbolsPackages\%(AllPortablePDBsToPublish.SymbolsPackageFilename)"
|
||||
Condition="Exists('$(_SymbolsSourceDir)%(AllPortablePDBsToPublish.SymbolsPackageFilename)')" />
|
||||
<Copy
|
||||
SourceFiles="$(_WorkRoot)SymbolsPackages\%(AppPortablePDBsToPublish.SymbolsPackageFilename)%(AppPortablePDBsToPublish.SymbolsRecursivePath)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('$(_WorkRoot)SymbolsPackages\%(AppPortablePDBsToPublish.SymbolsPackageFilename)\%(AppPortablePDBsToPublish.SymbolsRecursivePath)')" />
|
||||
<Copy
|
||||
SourceFiles="$(_WorkRoot)SymbolsPackages\%(AllPortablePDBsToPublish.SymbolsPackageFilename)%(AllPortablePDBsToPublish.SymbolsRecursivePath)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('$(_WorkRoot)SymbolsPackages\%(AllPortablePDBsToPublish.SymbolsPackageFilename)\%(AllPortablePDBsToPublish.SymbolsRecursivePath)')" />
|
||||
|
||||
<!-- Copy over DLLs and PDBs -->
|
||||
<Copy
|
||||
SourceFiles="%(AppPortablePDBsToPublish.PortablePDB)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('%(AppPortablePDBsToPublish.PortablePDB)')" />
|
||||
<Copy
|
||||
SourceFiles="%(AllPortablePDBsToPublish.PortablePDB)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True"
|
||||
Condition="Exists('%(AllPortablePDBsToPublish.PortablePDB)')" />
|
||||
<Copy
|
||||
SourceFiles="@(AppCrossGenSymbols)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
<Copy
|
||||
SourceFiles="@(AllCrossGenSymbols)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
<Copy
|
||||
SourceFiles="$(AppSharedFxCrossgenDirectory)%(AppCrossGenOutput.RecursiveDir)%(AppCrossGenOutput.FileName)%(AppCrossGenOutput.Extension)"
|
||||
DestinationFolder="$(AppSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
<Copy
|
||||
SourceFiles="$(AllSharedFxCrossgenDirectory)%(AllCrossGenOutput.RecursiveDir)%(AllCrossGenOutput.FileName)%(AllCrossGenOutput.Extension)"
|
||||
DestinationFolder="$(AllSharedFxSymbolsDirectory)runtimes\$(SharedFxRID)\lib\$(SharedFrameworkTargetFramework)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
|
||||
<!-- Create symbols nupkg -->
|
||||
<PropertyGroup>
|
||||
<AppSymbolsArguments>SymbolsWorkDir=$(AppSharedFxSymbolsDirectory)</AppSymbolsArguments>
|
||||
<AppSymbolsArguments>$(AppSymbolsArguments);SymbolsNuspecIdSuffix=Microsoft.AspNetCore.App</AppSymbolsArguments>
|
||||
<AppSymbolsArguments>$(AppSymbolsArguments);Description=Symbol packages for Microsoft.AspNetCore.App shared framework</AppSymbolsArguments>
|
||||
<AllSymbolsArguments>SymbolsWorkDir=$(AllSharedFxSymbolsDirectory)</AllSymbolsArguments>
|
||||
<AllSymbolsArguments>$(AllSymbolsArguments);SymbolsNuspecIdSuffix=Microsoft.AspNetCore.All</AllSymbolsArguments>
|
||||
<AllSymbolsArguments>$(AllSymbolsArguments);Description=Symbol packages for Microsoft.AspNetCore.All shared framework</AllSymbolsArguments>
|
||||
</PropertyGroup>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildSharedFxSymbols" Properties="$(AppSymbolsArguments)" />
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_BuildSharedFxSymbols" Properties="$(AllSymbolsArguments)" />
|
||||
|
||||
<!-- Replace assemblies with crossgen output -->
|
||||
<Copy
|
||||
SourceFiles="$(AppSharedFxCrossgenDirectory)%(AppCrossGenOutput.RecursiveDir)%(AppCrossGenOutput.FileName)%(AppCrossGenOutput.Extension)"
|
||||
DestinationFiles="$(AppSharedFxPublishDirectory)%(AppCrossGenOutput.RecursiveDir)%(AppCrossGenOutput.FileName)%(AppCrossGenOutput.Extension)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
<Copy
|
||||
SourceFiles="$(AllSharedFxCrossgenDirectory)%(AllCrossGenOutput.RecursiveDir)%(AllCrossGenOutput.FileName)%(AllCrossGenOutput.Extension)"
|
||||
DestinationFiles="$(AllSharedFxPublishDirectory)%(AllCrossGenOutput.RecursiveDir)%(AllCrossGenOutput.FileName)%(AllCrossGenOutput.Extension)"
|
||||
OverwriteReadOnlyFiles="True" />
|
||||
|
||||
<ItemGroup>
|
||||
<OutputZipFiles Include="$(SharedFxIntermediateOutputPath)**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create internal archive file -->
|
||||
<Exec Condition="'$(ArchiveExtension)' == '.tar.gz'"
|
||||
Command="tar -czf $(SharedFxOutputPath)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion)-$(SharedFxRID)$(ArchiveExtension) -C $(SharedFxIntermediateOutputPath) ." />
|
||||
<ZipArchive Condition="'$(ArchiveExtension)' == '.zip'"
|
||||
File="$(SharedFxOutputPath)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion)-$(SharedFxRID).zip"
|
||||
SourceFiles="@(OutputZipFiles)"
|
||||
WorkingDirectory="$(SharedFxIntermediateOutputPath)"
|
||||
Overwrite="true"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildSharedFx" DependsOnTargets="GeneratePropsFiles;ResolveSharedFxFiles;CrossGenAssemblies;CrossGenSymbols;PackSharedFx;TestSharedFx"/>
|
||||
|
||||
<Target Name="TestSharedFx" DependsOnTargets="GeneratePropsFiles;DefineSharedFxPrerequisites;ResolveCommitHash;InstallDotNet">
|
||||
<PropertyGroup>
|
||||
<UnitTestFxProject>$(RepositoryRoot)\test\SharedFx.UnitTests\SharedFx.UnitTests.csproj</UnitTestFxProject>
|
||||
|
||||
<!-- The file path to the log file, from within the container -->
|
||||
<UnitTestFxTrxLogFile>$(LogOutputDir)SharedFx-UnitTests-$(Version).trx</UnitTestFxTrxLogFile>
|
||||
<!-- The trx file path from the perspective of the TeamCity agent -->
|
||||
<UnitTestFxTrxPhysicalFilePath>$(UnitTestFxTrxLogFile)</UnitTestFxTrxPhysicalFilePath>
|
||||
<UnitTestFxTrxPhysicalFilePath Condition="'$(HostMachineRepositoryRoot)' != ''">$(HostMachineRepositoryRoot)/artifacts/logs/SharedFx-UnitTests.trx</UnitTestFxTrxPhysicalFilePath>
|
||||
|
||||
<UnitTestFxTestProps>
|
||||
DotNetRestoreSourcePropsPath=$(GeneratedRestoreSourcesPropsPath);
|
||||
DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath);
|
||||
SharedFxOutputPath=$(SharedFxIntermediateOutputPath);
|
||||
RepositoryCommit=$(RepositoryCommit);
|
||||
VSTestLogger=$([MSBuild]::Escape('trx;LogFileName=$(UnitTestFxTrxLogFile)'));
|
||||
SharedFxRuntimeIdentifier=$(SharedFXRid)
|
||||
</UnitTestFxTestProps>
|
||||
</PropertyGroup>
|
||||
<MSBuild Projects="$(UnitTestFxProject)" Targets="Restore" Properties="_Dummy=restore;$(UnitTestFxTestProps)" />
|
||||
<MSBuild Projects="$(UnitTestFxProject)" Targets="Build" Properties="$(UnitTestFxTestProps)">
|
||||
|
||||
<MSBuild Projects="$(UnitTestFxProject)" Targets="GetTargetPath" Properties="$(SolutionProperties)">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="SharedFxTestAssembly" />
|
||||
</MSBuild>
|
||||
<RunDotNet Arguments="vstest;
|
||||
|
||||
<RunDotNet
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
IgnoreExitCode="true"
|
||||
Arguments="vstest;
|
||||
--Framework:%(TargetFrameworkIdentifier),Version=v%(TargetFrameworkVersion);
|
||||
--Logger:$([MSBuild]::Escape('trx;LogFileName=$(UnitTestFxTrxLogFile)'));
|
||||
%(SharedFxTestAssembly.Identity);
|
||||
--;RunConfiguration.NoAutoReporters=true" IgnoreExitCode="true">
|
||||
--;RunConfiguration.NoAutoReporters=true">
|
||||
<Output TaskParameter="ExitCode" PropertyName="VsTestExitCode" />
|
||||
</RunDotNet>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<Project>
|
||||
<Target Name="BuildInstallers" DependsOnTargets="GenerateCumulativeArchives;GenerateRpms;GenerateDebs" />
|
||||
<Target Name="BuildInstallers" DependsOnTargets="GenerateRpms;GenerateDebs" />
|
||||
|
||||
<Target Name="_EnsureInstallerPrerequisites">
|
||||
<MakeDir Directories="$(_InstallersOutputDir)" />
|
||||
|
|
@ -13,72 +13,8 @@
|
|||
Text="Docker host must be using Linux containers."
|
||||
Condition="'$(DockerHostOS)' != 'linux'"/>
|
||||
<Error
|
||||
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-%(WindowsSharedFxRIDs.Identity).zip."
|
||||
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-%(WindowsSharedFxRIDs.Identity).zip')" />
|
||||
<Error
|
||||
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz."
|
||||
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_DownloadInstallers">
|
||||
<!-- Download dotnet installers -->
|
||||
<MakeDir Directories="$(_InstallerSourceDir)" />
|
||||
<DownloadFile
|
||||
SourceUrl="$(RuntimeArchiveLinkPrefix)-%(WindowsSharedFxRIDs.Identity).zip$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationFolder="$(_InstallerSourceDir)"
|
||||
DestinationFileName="$(DotnetRuntimeFileNamePrefix)-%(WindowsSharedFxRIDs.Identity).zip"
|
||||
Condition="!Exists('$(_InstallerSourceDir)$(DotnetRuntimeFileNamePrefix)-%(WindowsSharedFxRIDs.Identity).zip')" />
|
||||
<DownloadFile
|
||||
SourceUrl="$(RuntimeArchiveLinkPrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationFolder="$(_InstallerSourceDir)"
|
||||
DestinationFileName="$(DotnetRuntimeFileNamePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz"
|
||||
Condition="!Exists('$(_InstallerSourceDir)$(DotnetRuntimeFileNamePrefix)-%(NonWindowsSharedFxRIDs.Identity).tar.gz')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_GenerateCumulativeArchive">
|
||||
<PropertyGroup>
|
||||
<ArchiveExtension>.tar.gz</ArchiveExtension>
|
||||
<ArchiveExtension Condition="$(SharedFxPlatform.StartsWith('win'))">.zip</ArchiveExtension>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Clear working directory -->
|
||||
<RemoveDir Directories="$(_WorkRoot)" />
|
||||
<MakeDir Directories="$(_WorkRoot)" />
|
||||
|
||||
<!-- Create layout: Aspnet Runtime -->
|
||||
<Exec
|
||||
Command="tar -xzf $(SharedFxIntermediateArchiveFilePrefix)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<Exec
|
||||
Command="tar -xzf $(_InstallerSourceDir)$(DotnetRuntimeFileNamePrefix)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<UnzipArchive
|
||||
File="$(SharedFxIntermediateArchiveFilePrefix)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
Destination="$(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'" />
|
||||
<UnzipArchive
|
||||
File="$(_InstallerSourceDir)$(DotnetRuntimeFileNamePrefix)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
Destination="$(_WorkRoot)"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'" />
|
||||
|
||||
<ItemGroup>
|
||||
<SharedFxArchiveFiles Include="$(_WorkRoot)**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create Aspnet Runtime archive -->
|
||||
<Exec
|
||||
Command="tar -czf $(_InstallersOutputDir)$(SharedFxInstallerName)-$(PackageVersion)-$(SharedFxPlatform)$(ArchiveExtension) -C $(_WorkRoot) ."
|
||||
Condition="'$(ArchiveExtension)' == '.tar.gz'"/>
|
||||
<ZipArchive
|
||||
File="$(_InstallersOutputDir)$(SharedFxInstallerName)-$(PackageVersion)-$(SharedFxPlatform)$(ArchiveExtension)"
|
||||
SourceFiles="@(SharedFxArchiveFiles)"
|
||||
WorkingDirectory="$(_WorkRoot)"
|
||||
Overwrite="true"
|
||||
Condition="'$(ArchiveExtension)' == '.zip'"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateCumulativeArchives" DependsOnTargets="_EnsureInstallerPrerequisites;_DownloadInstallers">
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)" Targets="_GenerateCumulativeArchive" Properties="SharedFxPlatform=%(AllSharedFxRIDs.Identity)" />
|
||||
Text="Expected archive missing at $(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz."
|
||||
Condition="!Exists('$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildDockerImage">
|
||||
|
|
@ -113,7 +49,7 @@
|
|||
<!-- Retry added due to fpm/docker race where .w/package_root directory cannot be resolved -->
|
||||
<Run
|
||||
FileName="docker"
|
||||
Command="run --rm -v $(RepositoryRoot):$(_DockerRootDir) docker-image-$(Image) fpm --verbose -s dir -t rpm -n $(RpmName)-$(RpmIdVersion) -p $(_DockerRootDir)artifacts/installers/$(RpmName)-$(RpmFileVersion)-$(RpmFileSuffix) -v $(RpmPackageVersion) --iteration $(RpmRevision) -a amd64 $(RpmArguments) --rpm-changelog $(_DockerRootDir).w/templates/changelog --rpm-summary "$(RpmMSummary)" --description "$(RpmDescription)" --maintainer "$(RpmMaintainerName) <$(RpmMaintainerEmail)>" --vendor "$(RpmVendor)" --license "$(RpmLicense)" --url "$(RpmHomepage)" $(_DockerRootDir).w/package_root/="$(RpmInstallRoot)/""
|
||||
Command="run --rm -v $(RepositoryRoot):$(_DockerRootDir) docker-image-$(Image) fpm --verbose -s dir -t rpm -n $(RpmName)-$(RpmIdVersion) -p $(_DockerRootDir)artifacts/installers/$(RpmName)-$(RpmFileVersion)-$(RpmFileSuffix) -v $(RpmPackageVersion) --iteration $(RpmRevision) -a amd64 $(RpmArguments) --rpm-changelog $(_DockerRootDir).w/$(SharedFxRid)/templates/changelog --rpm-summary "$(RpmMSummary)" --description "$(RpmDescription)" --maintainer "$(RpmMaintainerName) <$(RpmMaintainerEmail)>" --vendor "$(RpmVendor)" --license "$(RpmLicense)" --url "$(RpmHomepage)" $(_DockerRootDir).w/$(SharedFxRid)/package_root/="$(RpmInstallRoot)/""
|
||||
MaxRetries="5"/>
|
||||
</Target>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,18 +2,13 @@
|
|||
|
||||
<ItemDefinitionGroup>
|
||||
<PackageArtifact>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.App metapackage. -->
|
||||
<AppMetapackage>false</AppMetapackage>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.All metapackage. -->
|
||||
<AllMetapackage>false</AllMetapackage>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.Analyzers metapackage. -->
|
||||
<Analyzer>false</Analyzer>
|
||||
<!--
|
||||
Other known package types:
|
||||
Dependency = for packages that are installed via PackageReference
|
||||
DotnetCliTool = for packages that are installed via DotNetCliToolReference
|
||||
<!-- Defines how and where the package ships.
|
||||
|
||||
ship = nuget.org
|
||||
shipoob = some other mechanism
|
||||
noship = for transporting internal bits only
|
||||
-->
|
||||
<PackageType>Dependency</PackageType>
|
||||
<Category></Category>
|
||||
</PackageArtifact>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
|
|
@ -23,73 +18,74 @@
|
|||
<PackageArtifact Include="dotnet-sql-cache" Category="ship" />
|
||||
<PackageArtifact Include="dotnet-user-secrets" Category="ship" />
|
||||
<PackageArtifact Include="dotnet-watch" Category="ship" />
|
||||
<PackageArtifact Include="Internal.AspNetCore.Universe.Lineup" Category="noship" PackageType="Lineup" />
|
||||
<PackageArtifact Include="Internal.AspNetCore.Universe.Lineup" Category="noship" />
|
||||
<PackageArtifact Include="Internal.WebHostBuilderFactory.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNet.Identity.AspNetCoreCompat" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.All" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Analyzers" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Antiforgery" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.App" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="runtime.$(SharedFxRid).Microsoft.AspNetCore.All" Category="noship" />
|
||||
<PackageArtifact Include="runtime.$(SharedFxRid).Microsoft.AspNetCore.App" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Antiforgery" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AspNetCoreModule" Category="noship" Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AspNetCoreModuleV2" Category="noship" Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Cookies" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Core" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Facebook" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Google" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.JwtBearer" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OAuth" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Twitter" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.WsFederation" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization.Policy" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Category="ship" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Cookies" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Facebook" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Google" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.JwtBearer" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OAuth" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.Twitter" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication.WsFederation" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authentication" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization.Policy" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Authorization" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Buffering" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ChunkingCookieManager.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Connections.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.CookiePolicy" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cors" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.Internal" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Category="ship" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureStorage" Category="ship" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Connections.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.CookiePolicy" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cors" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.Internal" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.AzureStorage" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Extensions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.Extensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection.SystemWeb" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DataProtection" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.DeveloperCertificates.XPlat" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Elm" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics.Identity.Service" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HostFiltering" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Diagnostics" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HostFiltering" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting.WindowsServices" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Html.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Hosting" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Html.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Connections.Client" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Connections.Common" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Connections" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Extensions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Features" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpOverrides" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpsPolicy" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Connections.Common" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Connections" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Extensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http.Features" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Http" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpOverrides" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpsPolicy" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.HttpSys.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Abstractions" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.AzureKeyVault" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Core" Category="noship" />
|
||||
|
|
@ -99,160 +95,160 @@
|
|||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service.Specification.Tests" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Service" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.UI" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.JsonPatch" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization.Routing" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.MiddlewareAnalysis" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Analyzers" Category="ship" Analyzer="true" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Api.Analyzers" Category="ship" Analyzer="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Core" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Cors" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Localization" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity.UI" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Identity" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.JsonPatch" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization.Routing" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Localization" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.MiddlewareAnalysis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Analyzers" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Api.Analyzers" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Cors" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Localization" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.RazorPages" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.TagHelpers" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Razor" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.RazorPages" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.TagHelpers" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.Testing" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Mvc" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.NodeServices.Sockets" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.NodeServices" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Owin" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.NodeServices" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Owin" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.RangeHelper.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Design" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Language" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Runtime" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Design" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Language" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.Runtime" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor.TagHelpers.Testing.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCompression" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Rewrite" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Razor" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCaching" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.ResponseCompression" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Rewrite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing.DecisionTree.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IIS" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IISIntegration" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Routing" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IIS" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IISIntegration" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Core" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Https" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Category="ship" AppMetapackage="false" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Session" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Https" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.Session" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Client.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Client" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Common" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Core" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Common" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Redis" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Redis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SpaServices.Extensions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SpaServices" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.StaticFiles" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SignalR" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SpaServices.Extensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.SpaServices" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.StaticFiles" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.TestHost" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebSockets" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebUtilities" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebSockets" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore.WebUtilities" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.AspNetCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Razor.Workspaces" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Razor" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Razor" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.CodeAnalysis.Remote.Razor" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite.Core" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Data.Sqlite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.DotNet.Web.Client.ItemTemplates" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.DotNet.Web.ItemTemplates" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.DotNet.Web.ProjectTemplates.3.0" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.DotNet.Web.Spa.ProjectTemplates" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Analyzers" Category="ship" Analyzer="true" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Cosmos" Category="noship"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Design" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.InMemory" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Proxies" Category="ship"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Analyzers" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Cosmos" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Design" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.InMemory" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Proxies" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Relational.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Relational" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Relational" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Category="ship" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite" Category="ship" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite" Category="ship"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Category="ship"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore" Category="ship" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ActivatorUtilities.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ApiDescription.Design" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ApplicationModelDetection" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Buffers.MemoryPool.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Buffers.Testing.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Memory" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Redis" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Memory" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.Redis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.StackExchangeRedis" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.SqlServer" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.AzureKeyVault" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Binder" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.CommandLine" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.FileExtensions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Ini" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Json" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.KeyPerFile" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.UserSecrets" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Xml" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Caching.SqlServer" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.AzureKeyVault" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Binder" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.CommandLine" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.FileExtensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Ini" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Json" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.KeyPerFile" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.UserSecrets" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration.Xml" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Configuration" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DiagnosticAdapter" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Category="ship" AppMetapackage="false" AllMetapackage="false" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Composite" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Embedded" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Physical" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileSystemGlobbing" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Http.Polly" Category="ship" AppMetapackage="false" AllMetapackage="false" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Http" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Core" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Stores" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Abstractions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Analyzers" Category="shipoob" Analyzer="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.AzureAppServices" Category="ship" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Configuration" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Console" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Debug" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DependencyInjection" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.DiagnosticAdapter" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Composite" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Embedded" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileProviders.Physical" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.FileSystemGlobbing" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Hosting" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Http.Polly" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Http" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Core" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Identity.Stores" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Localization" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Abstractions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Analyzers" Category="shipoob" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.AzureAppServices" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Configuration" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Console" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Debug" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.EventLog" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.EventSource" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.EventSource" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.Testing" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.TraceSource" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options.ConfigurationExtensions" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options.DataAnnotations" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging.TraceSource" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Logging" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options.ConfigurationExtensions" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options.DataAnnotations" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.Options" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Category="noship" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.WebEncoders" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Net.Http.Headers" Category="ship" AppMetapackage="true" AllMetapackage="true" />
|
||||
<PackageArtifact Include="Microsoft.Extensions.WebEncoders" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Net.Http.Headers" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.NET.Sdk.Razor" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.Owin.Security.Interop" Category="ship" />
|
||||
<PackageArtifact Include="Microsoft.VisualStudio.Editor.Razor" Category="shipoob" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project>
|
||||
<!-- These package versions may be overridden or updated by automation. -->
|
||||
<PropertyGroup Label="Package Versions: Auto" Condition=" '$(DotNetPackageVersionPropsPath)' == '' ">
|
||||
<MicrosoftCSharpPackageVersion>4.6.0-preview1-26907-04</MicrosoftCSharpPackageVersion>
|
||||
|
|
@ -60,6 +60,8 @@
|
|||
<PropertyGroup>
|
||||
<!-- Assign this variable last because it may be updated from DotNetPackageVersionPropsPath as MicrosoftNETCoreAppPackageVersion. -->
|
||||
<MicrosoftNETCoreApp30PackageVersion Condition="'$(MicrosoftNETCoreAppPackageVersion)' != ''">$(MicrosoftNETCoreAppPackageVersion)</MicrosoftNETCoreApp30PackageVersion>
|
||||
<!-- Assign this variable to ensure they are consistent. -->
|
||||
<MicrosoftNETCoreAppPackageVersion>$(MicrosoftNETCoreApp30PackageVersion)</MicrosoftNETCoreAppPackageVersion>
|
||||
|
||||
<!-- Determined by build tools -->
|
||||
<MicrosoftAspNetCoreBuildToolsApiCheckPackageVersion>$(KoreBuildVersion)</MicrosoftAspNetCoreBuildToolsApiCheckPackageVersion>
|
||||
|
|
|
|||
|
|
@ -5,54 +5,37 @@
|
|||
<ExternalDependency>
|
||||
<!-- The NuGet package version. Floating versions not allowed. -->
|
||||
<Version></Version>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.App metapackage. -->
|
||||
<AppMetapackage>false</AppMetapackage>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.All metapackage. -->
|
||||
<AllMetapackage>false</AllMetapackage>
|
||||
</ExternalDependency>
|
||||
|
||||
<!-- For dependencies from aspnet/Extensions -->
|
||||
<ExtensionsDependency>
|
||||
<!-- The NuGet package version. Floating versions not allowed. -->
|
||||
<Version></Version>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.App metapackage. -->
|
||||
<AppMetapackage>false</AppMetapackage>
|
||||
<!-- When true, this dependency will be included in the Microsoft.AspNetCore.All metapackage. -->
|
||||
<AllMetapackage>false</AllMetapackage>
|
||||
<IsExtensionsPackage>true</IsExtensionsPackage>
|
||||
</ExtensionsDependency>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Packages from aspnet/Extensions -->
|
||||
<ExtensionsDependency Include="Internal.AspNetCore.Analyzers" Version="$(InternalAspNetCoreAnalyzersPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.AspNetCore.Analyzer.Testing" Version="$(MicrosoftAspNetCoreAnalyzerTestingPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.AspNetCore.Certificates.Generation.Sources" Version="$(MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="$(MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="$(MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.NonCapturingTimer.Sources" Version="$(MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Version="$(MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" AllMetapackage="true" AppMetapackage="true" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" AllMetapackage="true" AppMetapackage="true" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.Process.Sources" Version="$(MicrosoftExtensionsProcessSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.PropertyActivator.Sources" Version="$(MicrosoftExtensionsPropertyActivatorSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.PropertyHelper.Sources" Version="$(MicrosoftExtensionsPropertyHelperSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.RazorViews.Sources" Version="$(MicrosoftExtensionsRazorViewsSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.SecurityHelper.Sources" Version="$(MicrosoftExtensionsSecurityHelperSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.StackTrace.Sources" Version="$(MicrosoftExtensionsStackTraceSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="$(MicrosoftExtensionsTypeNameHelperSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.ValueStopwatch.Sources" Version="$(MicrosoftExtensionsValueStopwatchSourcesPackageVersion)" />
|
||||
<ExtensionsDependency Include="Microsoft.Extensions.WebEncoders.Sources" Version="$(MicrosoftExtensionsWebEncodersSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Internal.AspNetCore.Analyzers" Version="$(InternalAspNetCoreAnalyzersPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNetCore.Analyzer.Testing" Version="$(MicrosoftAspNetCoreAnalyzerTestingPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNetCore.Certificates.Generation.Sources" Version="$(MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="$(MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="$(MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.NonCapturingTimer.Sources" Version="$(MicrosoftExtensionsNonCapturingTimerSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Version="$(MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.Process.Sources" Version="$(MicrosoftExtensionsProcessSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.PropertyActivator.Sources" Version="$(MicrosoftExtensionsPropertyActivatorSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.PropertyHelper.Sources" Version="$(MicrosoftExtensionsPropertyHelperSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.RazorViews.Sources" Version="$(MicrosoftExtensionsRazorViewsSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.SecurityHelper.Sources" Version="$(MicrosoftExtensionsSecurityHelperSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.StackTrace.Sources" Version="$(MicrosoftExtensionsStackTraceSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="$(MicrosoftExtensionsTypeNameHelperSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.ValueStopwatch.Sources" Version="$(MicrosoftExtensionsValueStopwatchSourcesPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Extensions.WebEncoders.Sources" Version="$(MicrosoftExtensionsWebEncodersSourcesPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ExternalDependency Include="@(ExtensionsDependency)" />
|
||||
|
||||
<ExternalDependency Include="AngleSharp" Version="$(AngleSharpPackageVersion)" />
|
||||
<ExternalDependency Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
|
||||
<ExternalDependency Include="Castle.Core" Version="$(CastleCorePackageVersion)" />
|
||||
|
|
@ -64,7 +47,7 @@
|
|||
<ExternalDependency Include="Libuv" Version="$(LibuvPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.ApplicationInsights.AspNetCore" Version="$(MicrosoftApplicationInsightsAspNetCorePackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNet.Identity.EntityFramework" Version="$(MicrosoftAspNetIdentityEntityFrameworkPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.AspNet.WebApi.Client" Version="$(MicrosoftAspNetWebApiClientPackageVersion)" AppMetapackage="true" AllMetapackage="true"/>
|
||||
<ExternalDependency Include="Microsoft.AspNet.WebApi.Client" Version="$(MicrosoftAspNetWebApiClientPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Azure.DocumentDB.Core" Version="$(MicrosoftAzureDocumentDBCorePackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Azure.KeyVault" Version="$(MicrosoftAzureKeyVaultPackageVersion)" />
|
||||
<ExternalDependency Include="Microsoft.Azure.Management.Fluent" Version="$(MicrosoftAzureManagementFluentPackageVersion)" />
|
||||
|
|
@ -117,6 +100,8 @@
|
|||
<ExternalDependency Include="Microsoft.NETCore.App" Version="$(MicrosoftNETCoreApp21PackageVersion)" VariableName="MicrosoftNETCoreApp21PackageVersion" />
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="$(MicrosoftNETCoreApp22PackageVersion)" VariableName="MicrosoftNETCoreApp22PackageVersion" />
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="$(MicrosoftNETCoreApp30PackageVersion)" VariableName="MicrosoftNETCoreApp30PackageVersion" />
|
||||
<!-- This variable should be used for anything that needs "latest" netcoreapp. -->
|
||||
<ExternalDependency Include="Microsoft.NETCore.App" Version="$(MicrosoftNETCoreAppPackageVersion)" VariableName="MicrosoftNETCoreAppPackageVersion" />
|
||||
|
||||
<!-- Microsoft.NetCore.DotNetAppHost for global tools-->
|
||||
<ExternalDependency Include="Microsoft.NETCore.DotNetAppHost" Version="$(MicrosoftNETCoreDotNetAppHost21PackageVersion)" VariableName="MicrosoftNETCoreDotNetAppHost21PackageVersion" />
|
||||
|
|
@ -196,7 +181,7 @@
|
|||
<ExternalDependency Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
|
||||
<ExternalDependency Include="System.IdentityModel.Tokens.Jwt" Version="$(SystemIdentityModelTokensJwtPackageVersion)" />
|
||||
<ExternalDependency Include="System.Interactive.Async" Version="$(SystemInteractiveAsyncPackageVersion)" />
|
||||
<ExternalDependency Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" AppMetapackage="true" AllMetapackage="true" MetapackageVersionRangeType="Minimum" />
|
||||
<ExternalDependency Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" />
|
||||
<ExternalDependency Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
|
||||
<ExternalDependency Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
|
||||
<ExternalDependency Include="System.Net.Http" Version="$(SystemNetHttpPackageVersion)" />
|
||||
|
|
|
|||
|
|
@ -1,10 +0,0 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
This ensures the build number is a time-based number for local builds.
|
||||
This is important for local builds of ASP.NET Core which need to ensure repo-to-repo
|
||||
builds are using new articacts, not ones from the global cache.
|
||||
-->
|
||||
<IncrementalVersion>true</IncrementalVersion>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
<IntermediateInstaller Include="win-x86" FileExt=".wixlib" />
|
||||
<IntermediateInstaller Include="win-x64" FileExt=".zip" />
|
||||
<IntermediateInstaller Include="win-x64" FileExt=".wixlib" />
|
||||
<IntermediateInstaller Include="win-arm" FileExt=".zip" />
|
||||
<IntermediateInstaller Include="osx-x64" FileExt=".tar.gz" />
|
||||
<IntermediateInstaller Include="linux-x64" FileExt=".tar.gz" />
|
||||
<IntermediateInstaller Include="linux-arm" FileExt=".tar.gz" />
|
||||
|
|
@ -28,6 +29,7 @@
|
|||
<NativeInstaller Include="win-x86" FileExt=".zip" />
|
||||
<NativeInstaller Include="win-x64" FileExt=".exe" />
|
||||
<NativeInstaller Include="win-x64" FileExt=".zip" />
|
||||
<NativeInstaller Include="win-arm" FileExt=".zip" />
|
||||
<NativeInstaller Include="osx-x64" FileExt=".tar.gz" />
|
||||
<NativeInstaller Include="linux-x64" FileExt=".tar.gz" />
|
||||
<NativeInstaller Include="linux-arm" FileExt=".tar.gz" />
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@
|
|||
<PrepareDependsOn>SetTeamCityBuildNumberToVersion;$(PrepareDependsOn);VerifyPackageArtifactConfig;VerifyExternalDependencyConfig;PrepareOutputPaths</PrepareDependsOn>
|
||||
<CleanDependsOn>$(CleanDependsOn);CleanArtifacts;CleanRepoArtifacts</CleanDependsOn>
|
||||
<RestoreDependsOn>$(RestoreDependsOn);InstallDotNet</RestoreDependsOn>
|
||||
<CompileDependsOn>$(CompileDependsOn);BuildRepositories</CompileDependsOn>
|
||||
<PackageDependsOn Condition="'$(TestOnly)' != 'true'">$(PackageDependsOn);BuildMetapackages;CheckExpectedPackagesExist</PackageDependsOn>
|
||||
<CompileDependsOn>$(CompileDependsOn);BuildRepositories;BuildSharedFx</CompileDependsOn>
|
||||
<PackageDependsOn Condition="'$(TestOnly)' != 'true'">$(PackageDependsOn);CheckExpectedPackagesExist</PackageDependsOn>
|
||||
<TestDependsOn>$(TestDependsOn);_TestRepositories</TestDependsOn>
|
||||
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);ResolveRepoInfo</GetArtifactInfoDependsOn>
|
||||
</PropertyGroup>
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<MakeDir Directories="$(ArtifactsDir);$(BuildDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="ResolveRepoInfo" DependsOnTargets="_PrepareRepositories;GetMetapackageArtifactInfo;GetLineupPackageInfo">
|
||||
<Target Name="ResolveRepoInfo" DependsOnTargets="_PrepareRepositories;GetLineupPackageInfo">
|
||||
<!-- We need to pass the NETCoreApp package versions to msbuild so that it doesn't complain about us using a different one than it was restored against. -->
|
||||
<PropertyGroup>
|
||||
<DesignTimeBuildProps>MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion);</DesignTimeBuildProps>
|
||||
|
|
@ -43,6 +43,14 @@
|
|||
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
|
||||
</MSBuild>
|
||||
|
||||
<MSBuild Projects="@(ProjectToBuild)"
|
||||
Targets="GetArtifactInfo"
|
||||
Properties="$(DesignTimeBuildProps);Configuration=$(Configuration);BuildNumber=$(BuildNumber);DesignTimeBuild=true"
|
||||
SkipNonexistentTargets="true"
|
||||
Condition="'@(ProjectToBuild)' != ''">
|
||||
<Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
|
||||
</MSBuild>
|
||||
|
||||
<MSBuild Projects="$(MSBuildProjectFullPath)"
|
||||
Targets="ResolveSolutions"
|
||||
Properties="RepositoryRoot=%(Repository.RootPath);Configuration=$(Configuration);BuildNumber=$(BuildNumber)"
|
||||
|
|
@ -239,18 +247,6 @@
|
|||
<Target Name="VerifyPackageArtifactConfig">
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). PackageArtifact must have the 'Category' metadata."
|
||||
Condition="'%(PackageArtifact.Category)' == '' " />
|
||||
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). Packages marked as LZMA='true' must be Category='ship'."
|
||||
Condition="'%(PackageArtifact.Category)' != 'ship' AND '%(PackageArtifact.LZMA)' == 'true' " />
|
||||
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). Packages marked as AppMetapackage='true' must be Category='ship'."
|
||||
Condition="'%(PackageArtifact.Category)' != 'ship' AND '%(PackageArtifact.AppMetapackage)' == 'true' " />
|
||||
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). Packages marked as AllMetapackage='true' must be Category='ship'."
|
||||
Condition="'%(PackageArtifact.Category)' != 'ship' AND '%(PackageArtifact.AllMetapackage)' == 'true' " />
|
||||
|
||||
<Error Text="Invalid configuration of %(PackageArtifact.Identity). Packages marked as AppMetapackage='true' must also be marked as AllMetapackage='true'."
|
||||
Condition="'%(PackageArtifact.AppMetapackage)' == 'true' AND '%(PackageArtifact.AllMetapackage)' != 'true' " />
|
||||
</Target>
|
||||
|
||||
<Target Name="VerifyExternalDependencyConfig">
|
||||
|
|
|
|||
|
|
@ -28,5 +28,10 @@
|
|||
$(RestoreSources);
|
||||
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
|
||||
</RestoreSources>
|
||||
|
||||
<PublicCoreFeedPrefix>https://dotnetcli.blob.core.windows.net/dotnet/</PublicCoreFeedPrefix>
|
||||
|
||||
<!-- In an orchestrated build, this may be overriden to other Azure feeds. -->
|
||||
<DotNetAssetRootUrl Condition="'$(DotNetAssetRootUrl)'==''">$(PublicCoreFeedPrefix)</DotNetAssetRootUrl>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,134 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.Versioning;
|
||||
using RepoTasks.Utilities;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class AddMetapackageReferences : Task
|
||||
{
|
||||
[Required]
|
||||
public string ReferencePackagePath { get; set; }
|
||||
|
||||
[Required]
|
||||
public string MetapackageReferenceType { get; set; }
|
||||
|
||||
[Required]
|
||||
public string DependencyVersionRangeType { get; set; }
|
||||
|
||||
// MSBuild doesn't allow binding to enums directly.
|
||||
private enum VersionRangeType
|
||||
{
|
||||
Minimum, // [1.1.1, )
|
||||
MajorMinor, // [1.1.1, 1.2.0)
|
||||
}
|
||||
|
||||
[Required]
|
||||
public ITaskItem[] PackageArtifacts { get; set; }
|
||||
|
||||
[Required]
|
||||
public ITaskItem[] ExternalDependencies { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
if (!Enum.TryParse<VersionRangeType>(DependencyVersionRangeType, out var dependencyVersionType))
|
||||
{
|
||||
Log.LogError("Unexpected value {0} for DependencyVersionRangeType", DependencyVersionRangeType);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Parse input
|
||||
var metapackageArtifacts = PackageArtifacts.Where(p => p.GetMetadata(MetapackageReferenceType) == "true");
|
||||
var externalArtifacts = ExternalDependencies.Where(p => p.GetMetadata(MetapackageReferenceType) == "true");
|
||||
|
||||
var xmlDoc = new XmlDocument();
|
||||
xmlDoc.Load(ReferencePackagePath);
|
||||
|
||||
// Project
|
||||
var projectElement = xmlDoc.FirstChild;
|
||||
|
||||
// Items
|
||||
var itemGroupElement = xmlDoc.CreateElement("ItemGroup");
|
||||
Log.LogMessage(MessageImportance.High, $"{MetapackageReferenceType} will include the following packages");
|
||||
|
||||
foreach (var package in metapackageArtifacts)
|
||||
{
|
||||
var packageName = package.ItemSpec;
|
||||
var packageVersion = package.GetMetadata("Version");
|
||||
if (string.IsNullOrEmpty(packageVersion))
|
||||
{
|
||||
Log.LogError("Missing version information for package {0}", packageName);
|
||||
continue;
|
||||
}
|
||||
|
||||
var packageVersionValue = GetDependencyVersion(dependencyVersionType, packageName, packageVersion);
|
||||
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersionValue}");
|
||||
|
||||
var packageReferenceElement = xmlDoc.CreateElement("PackageReference");
|
||||
packageReferenceElement.SetAttribute("Include", packageName);
|
||||
packageReferenceElement.SetAttribute("Version", packageVersionValue);
|
||||
packageReferenceElement.SetAttribute("PrivateAssets", "None");
|
||||
|
||||
itemGroupElement.AppendChild(packageReferenceElement);
|
||||
}
|
||||
|
||||
foreach (var package in externalArtifacts)
|
||||
{
|
||||
var packageName = package.ItemSpec;
|
||||
var packageVersion = package.GetMetadata("Version");
|
||||
|
||||
if (string.IsNullOrEmpty(packageVersion))
|
||||
{
|
||||
Log.LogError("Missing version information for package {0}", packageName);
|
||||
continue;
|
||||
}
|
||||
|
||||
var packageVersionValue =
|
||||
Enum.TryParse<VersionRangeType>(package.GetMetadata("MetapackageVersionRangeType"), out var packageVersionType)
|
||||
? GetDependencyVersion(packageVersionType, packageName, packageVersion)
|
||||
: GetDependencyVersion(dependencyVersionType, packageName, packageVersion);
|
||||
|
||||
Log.LogMessage(MessageImportance.High, $" - Package: {packageName} Version: {packageVersionValue}");
|
||||
|
||||
var packageReferenceElement = xmlDoc.CreateElement("PackageReference");
|
||||
packageReferenceElement.SetAttribute("Include", packageName);
|
||||
packageReferenceElement.SetAttribute("Version", packageVersionValue);
|
||||
packageReferenceElement.SetAttribute("PrivateAssets", "None");
|
||||
|
||||
itemGroupElement.AppendChild(packageReferenceElement);
|
||||
}
|
||||
|
||||
projectElement.AppendChild(itemGroupElement);
|
||||
|
||||
// Save updated file
|
||||
xmlDoc.AppendChild(projectElement);
|
||||
xmlDoc.Save(ReferencePackagePath);
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private string GetDependencyVersion(VersionRangeType dependencyVersionType, string packageName, string packageVersion)
|
||||
{
|
||||
switch (dependencyVersionType)
|
||||
{
|
||||
case VersionRangeType.MajorMinor:
|
||||
if (!NuGetVersion.TryParse(packageVersion, out var nugetVersion))
|
||||
{
|
||||
Log.LogError("Invalid NuGet version '{0}' for package {1}", packageVersion, packageName);
|
||||
return null;
|
||||
}
|
||||
return $"[{packageVersion}, {nugetVersion.Major}.{nugetVersion.Minor + 1}.0)";
|
||||
case VersionRangeType.Minimum:
|
||||
return packageVersion;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ namespace RepoTasks
|
|||
var versionOverrides = ProjectRootElement.Open(DotNetPackageVersionPropsPath);
|
||||
var dependencies = ProjectRootElement.Open(DependenciesFile);
|
||||
var pinnedVersions = dependencies.PropertyGroups
|
||||
.Where(p => !string.Equals("Package Versions: Auto", p.Label))
|
||||
.Where(p => string.Equals("Package Versions: Pinned", p.Label))
|
||||
.SelectMany(p => p.Properties)
|
||||
.ToDictionary(p => p.Name, p => p.Value, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,10 @@
|
|||
// 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 System.Security.Cryptography;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.Extensions.DependencyModel;
|
||||
|
|
@ -14,7 +16,7 @@ using RepoTasks.Utilities;
|
|||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public partial class ProcessSharedFrameworkDeps : Task
|
||||
public class ProcessSharedFrameworkDeps : Task
|
||||
{
|
||||
[Required]
|
||||
public string AssetsFilePath { get; set; }
|
||||
|
|
@ -22,6 +24,15 @@ namespace RepoTasks
|
|||
[Required]
|
||||
public string DepsFilePath { get; set; }
|
||||
|
||||
[Required]
|
||||
public string OutputPath { get; set; }
|
||||
|
||||
[Required]
|
||||
public string FrameworkName { get; set; }
|
||||
|
||||
// When generating the .deps.json file, these files are used to replace "project" libraries with "packages".
|
||||
public ITaskItem[] ResolvedPackageProjectReferences { get; set; }
|
||||
|
||||
public string[] PackagesToRemove { get; set; }
|
||||
|
||||
[Required]
|
||||
|
|
@ -42,7 +53,7 @@ namespace RepoTasks
|
|||
context = new DependencyContextJsonReader().Read(depsStream);
|
||||
}
|
||||
|
||||
LockFile lockFile = LockFileUtilities.GetLockFile(AssetsFilePath, NullLogger.Instance);
|
||||
var lockFile = LockFileUtilities.GetLockFile(AssetsFilePath, NullLogger.Instance);
|
||||
if (lockFile == null)
|
||||
{
|
||||
throw new ArgumentException($"Could not load a LockFile at '{AssetsFilePath}'.", nameof(AssetsFilePath));
|
||||
|
|
@ -52,25 +63,66 @@ namespace RepoTasks
|
|||
var graph = manager.Collect(lockFile);
|
||||
var expandedGraph = manager.Expand(graph, Runtime);
|
||||
|
||||
var trimmedRuntimeLibraries = context.RuntimeLibraries;
|
||||
// Remove the runtime entry for the project which generates the original deps.json. For example, there is no Microsoft.AspNetCore.App.dll.
|
||||
var trimmedRuntimeLibraries = RuntimeReference.RemoveSharedFxRuntimeEntry(context.RuntimeLibraries, FrameworkName);
|
||||
|
||||
trimmedRuntimeLibraries = ResolveProjectsAsPackages(ResolvedPackageProjectReferences, trimmedRuntimeLibraries);
|
||||
|
||||
if (PackagesToRemove != null && PackagesToRemove.Any())
|
||||
{
|
||||
trimmedRuntimeLibraries = RuntimeReference.RemoveReferences(context.RuntimeLibraries, PackagesToRemove);
|
||||
trimmedRuntimeLibraries = RuntimeReference.RemoveReferences(trimmedRuntimeLibraries, PackagesToRemove);
|
||||
}
|
||||
|
||||
context = new DependencyContext(
|
||||
context.Target,
|
||||
context.CompilationOptions,
|
||||
context.CompileLibraries,
|
||||
CompilationOptions.Default,
|
||||
Array.Empty<CompilationLibrary>(),
|
||||
trimmedRuntimeLibraries,
|
||||
expandedGraph
|
||||
);
|
||||
|
||||
using (var depsStream = File.Create(DepsFilePath))
|
||||
using (var depsStream = File.Create(OutputPath))
|
||||
{
|
||||
new DependencyContextWriter().Write(context, depsStream);
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerable<RuntimeLibrary> ResolveProjectsAsPackages(ITaskItem[] resolvedProjects, IEnumerable<RuntimeLibrary> compilationLibraries)
|
||||
{
|
||||
var projects = resolvedProjects.ToDictionary(k => k.GetMetadata("PackageId"), k => k, StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
foreach (var library in compilationLibraries)
|
||||
{
|
||||
if (projects.TryGetValue(library.Name, out var project))
|
||||
{
|
||||
Log.LogMessage("Replacing the library entry for {0}", library.Name);
|
||||
|
||||
var packagePath = project.ItemSpec;
|
||||
var packageId = library.Name;
|
||||
var version = library.Version;
|
||||
string packageHash;
|
||||
using (var sha512 = SHA512.Create())
|
||||
{
|
||||
packageHash = "sha512-" + sha512.ComputeHashAsBase64(File.OpenRead(packagePath), leaveStreamOpen: false);
|
||||
}
|
||||
|
||||
yield return new RuntimeLibrary("package",
|
||||
library.Name,
|
||||
library.Version,
|
||||
packageHash,
|
||||
library.RuntimeAssemblyGroups,
|
||||
library.NativeLibraryGroups,
|
||||
library.ResourceAssemblies,
|
||||
library.Dependencies,
|
||||
serviceable: true,
|
||||
path: $"{library.Name}/{library.Version}".ToLowerInvariant(),
|
||||
hashPath: $"{library.Name}.{library.Version}.nupkg.sha512".ToLowerInvariant());
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return library;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,6 @@
|
|||
<_RepoTaskAssembly>$(MSBuildThisFileDirectory)bin\publish\RepoTasks.dll</_RepoTaskAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
<UsingTask TaskName="RepoTasks.AddMetapackageReferences" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.CheckExpectedPackagesExist" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.CheckVersionOverrides" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.CreateLzma" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
|
|
@ -12,9 +11,8 @@
|
|||
<UsingTask TaskName="RepoTasks.JoinItems" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.OrderBy" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.ProcessSharedFrameworkDeps" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.ResolveVersionRange" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.PublishToAzureBlob" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.ResolveSymbolsRecursivePath" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
<UsingTask TaskName="RepoTasks.TrimDeps" AssemblyFile="$(_RepoTaskAssembly)" />
|
||||
|
||||
<!-- tools from dotnet-buildtools -->
|
||||
<PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using RepoTasks.Utilities;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class ResolveSymbolsRecursivePath : Task
|
||||
{
|
||||
[Required]
|
||||
[Output]
|
||||
public ITaskItem[] Symbols { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
foreach (var symbol in Symbols)
|
||||
{
|
||||
var fullPath = symbol.GetMetadata("PortablePDB");
|
||||
symbol.SetMetadata("SymbolsRecursivePath", fullPath.Substring(fullPath.IndexOf($"{Path.DirectorySeparatorChar}lib{Path.DirectorySeparatorChar}")));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using NuGet.Versioning;
|
||||
using RepoTasks.Utilities;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class ResolveVersionRange : Task
|
||||
{
|
||||
[Required]
|
||||
[Output]
|
||||
public ITaskItem[] Items { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Version { get; set; }
|
||||
|
||||
[Required]
|
||||
public string RangeType { get; set; }
|
||||
|
||||
// MSBuild doesn't allow binding to enums directly.
|
||||
private enum VersionRangeType
|
||||
{
|
||||
Minimum, // [1.1.1, )
|
||||
MajorMinor, // [1.1.1, 1.2.0)
|
||||
}
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
if (!Enum.TryParse<VersionRangeType>(RangeType, out var rangeType))
|
||||
{
|
||||
Log.LogError("Unexpected value {0} for RangeType", RangeType);
|
||||
return false;
|
||||
}
|
||||
|
||||
var versionRange = GetVersionRange(rangeType, Version);
|
||||
|
||||
foreach (var item in Items)
|
||||
{
|
||||
item.SetMetadata("_OriginalVersion", Version);
|
||||
item.SetMetadata("Version", versionRange);
|
||||
}
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
private string GetVersionRange(VersionRangeType rangeType, string packageVersion)
|
||||
{
|
||||
switch (rangeType)
|
||||
{
|
||||
case VersionRangeType.MajorMinor:
|
||||
if (!NuGetVersion.TryParse(packageVersion, out var nugetVersion))
|
||||
{
|
||||
Log.LogError("Invalid NuGet version '{0}'", packageVersion);
|
||||
return null;
|
||||
}
|
||||
return $"[{packageVersion}, {nugetVersion.Major}.{nugetVersion.Minor + 1}.0)";
|
||||
case VersionRangeType.Minimum:
|
||||
return packageVersion;
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Microsoft.Build.Framework;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace RepoTasks
|
||||
{
|
||||
public class TrimDeps : Task
|
||||
{
|
||||
[Required]
|
||||
public ITaskItem[] DepsFiles { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
foreach (var depsFile in DepsFiles)
|
||||
{
|
||||
ChangeEntryPointLibraryName(depsFile.GetMetadata("Identity"));
|
||||
}
|
||||
|
||||
// Parse input
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void ChangeEntryPointLibraryName(string depsFile)
|
||||
{
|
||||
JToken deps;
|
||||
using (var file = File.OpenText(depsFile))
|
||||
using (JsonTextReader reader = new JsonTextReader(file))
|
||||
{
|
||||
deps = JObject.ReadFrom(reader);
|
||||
}
|
||||
|
||||
foreach (JProperty target in deps["targets"])
|
||||
{
|
||||
var targetLibrary = target.Value.Children<JProperty>().FirstOrDefault();
|
||||
if (targetLibrary == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
targetLibrary.Remove();
|
||||
}
|
||||
|
||||
var library = deps["libraries"].Children<JProperty>().First();
|
||||
library.Remove();
|
||||
|
||||
using (var file = File.CreateText(depsFile))
|
||||
using (var writer = new JsonTextWriter(file) { Formatting = Formatting.Indented })
|
||||
{
|
||||
deps.WriteTo(writer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -11,7 +11,30 @@ namespace RepoTasks.Utilities
|
|||
{
|
||||
internal class RuntimeReference
|
||||
{
|
||||
public static List<RuntimeLibrary> RemoveReferences(IReadOnlyList<RuntimeLibrary> runtimeLibraries, IEnumerable<string> packages)
|
||||
public static IEnumerable<RuntimeLibrary> RemoveSharedFxRuntimeEntry(IEnumerable<RuntimeLibrary> runtimeLibraries, string fxName)
|
||||
{
|
||||
foreach (var runtimeLib in runtimeLibraries)
|
||||
{
|
||||
if (string.Equals(runtimeLib.Name, fxName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
yield return new RuntimeLibrary(runtimeLib.Type,
|
||||
runtimeLib.Name,
|
||||
runtimeLib.Version,
|
||||
runtimeLib.Hash,
|
||||
Array.Empty<RuntimeAssetGroup>(), // runtimeLib.RuntimeAssemblyGroups,
|
||||
runtimeLib.NativeLibraryGroups,
|
||||
runtimeLib.ResourceAssemblies,
|
||||
runtimeLib.Dependencies,
|
||||
runtimeLib.Serviceable);
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return runtimeLib;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static List<RuntimeLibrary> RemoveReferences(IEnumerable<RuntimeLibrary> runtimeLibraries, IEnumerable<string> packages)
|
||||
{
|
||||
List<RuntimeLibrary> result = new List<RuntimeLibrary>();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" >
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<DisableImplicitNuGetFallbackFolder>true</DisableImplicitNuGetFallbackFolder>
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="$(SharedFxPackage)" Version="$(SharedFxPackageVersion)" ExcludeAssets="Build" />
|
||||
<PackageReference Include="$(SharedFxDep)" Version="$(SharedFxDepVersion)" Condition="'$(SharedFxDep)' != ''"/>
|
||||
<PackageReference Include="Microsoft.NETCore.App" Version="$(RuntimeFrameworkVersion)" ExcludeAssets="Native"/>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="GetPackageDefinitions" Returns="@(_PackageDefinitions)">
|
||||
<ResolvePackageDependencies ProjectPath="$(MSBuildThisFileFullPath)" ProjectAssetsFile="$(ProjectAssetsFile)">
|
||||
<Output TaskParameter="PackageDefinitions" ItemName="_PackageDefinitions" />
|
||||
</ResolvePackageDependencies>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetPublishAssemblies" Returns="@(_PublishAssemblies)">
|
||||
<ResolvePublishAssemblies
|
||||
ProjectPath="$(MSBuildProjectFullPath)"
|
||||
AssetsFilePath="$(ProjectAssetsFile)"
|
||||
TargetFramework="$(TargetFramework)"
|
||||
RuntimeIdentifier="$(RuntimeIdentifier)"
|
||||
PlatformLibraryName="Microsoft.NETCore.App"
|
||||
ExcludeFromPublishPackageReferences="@(_ExcludeFromPublishPackageReference)"
|
||||
IsSelfContained="$(SelfContained)">
|
||||
<Output
|
||||
TaskParameter="AssembliesToPublish"
|
||||
ItemName="_PublishAssemblies" />
|
||||
</ResolvePublishAssemblies>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>$ID$</id>
|
||||
<version>$VERSION$</version>
|
||||
<description>$DESCRIPTION$</description>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<copyright>Copyright © Microsoft Corporation</copyright>
|
||||
<licenseUrl>https://raw.githubusercontent.com/aspnet/Home/2.0.0/LICENSE.txt</licenseUrl>
|
||||
<iconUrl>https://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
|
||||
<projectUrl>https://asp.net</projectUrl>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<serviceable Condition="'$(Configuration)' == 'Release'">true</serviceable>
|
||||
<tags>aspnetcore</tags>
|
||||
</metadata>
|
||||
<files />
|
||||
</package>
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
<!--
|
||||
This file defines properties for building a shared framework.
|
||||
This targets file should only be imported by .shfxproj files.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- shfxproj must be explicit about its dependencies. -->
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
|
||||
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">$(SharedFxRID)</RuntimeIdentifier>
|
||||
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">$(HostRid)</RuntimeIdentifier>
|
||||
<SharedFxRid Condition="'$(SharedFxRid)' == ''">$(RuntimeIdentifier)</SharedFxRid>
|
||||
|
||||
<!-- Optimize the framework using the crossgen tool -->
|
||||
<CrossgenOutput>true</CrossgenOutput>
|
||||
|
||||
<!-- Produce crossgen symbols when running the crossgen tool -->
|
||||
<CrossgenSymbolsOutput>true</CrossgenSymbolsOutput>
|
||||
|
||||
<!-- Always generated, even though output type == Library -->
|
||||
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
|
||||
<!-- Even though RuntimeIdentifier is set, shared framework projects are not self-contained projects -->
|
||||
<SelfContained>false</SelfContained>
|
||||
|
||||
<!-- Don't add TFM to the project output path of shared framework projects -->
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
|
||||
|
||||
<!-- The project representing the shared framework doesn't produce a .NET assembly or symbols -->
|
||||
<DebugType>none</DebugType>
|
||||
<CopyBuildOutputToPublishDirectory>false</CopyBuildOutputToPublishDirectory>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<IncludeMainProjectInDepsFile>false</IncludeMainProjectInDepsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,335 @@
|
|||
<!--
|
||||
This file defines targets for building a shared framework.
|
||||
This targets file should only be imported by .shfxproj files.
|
||||
-->
|
||||
<Project>
|
||||
|
||||
<Import Project="..\..\build\tasks\RepoTasks.tasks" />
|
||||
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
|
||||
<CoreBuildDependsOn>
|
||||
BuildOnlySettings;
|
||||
PrepareForBuild;
|
||||
PreBuildEvent;
|
||||
ResolveReferences;
|
||||
GenerateSharedFxVersionsFile;
|
||||
PrepareForPublish;
|
||||
ComputeAndCopyFilesToPublishDirectory;
|
||||
GeneratePublishDependencyFile;
|
||||
GenerateSharedFxDependencyFile;
|
||||
GeneratePublishRuntimeConfigurationFile;
|
||||
CopySharedFxToOutput;
|
||||
CollectSharedFxOutput;
|
||||
PostBuildEvent;
|
||||
GetTargetPath;
|
||||
</CoreBuildDependsOn>
|
||||
|
||||
<CollectOutputSharedFxDependsOn Condition=" '$(CrossGenOutput)' != 'false' ">
|
||||
PrepareForCrossGen;
|
||||
CrossGenAssemblies;
|
||||
</CollectOutputSharedFxDependsOn>
|
||||
|
||||
<CollectOutputSharedFxDependsOn Condition=" '$(CrossgenSymbolsOutput)' != 'false' ">
|
||||
$(CollectOutputSharedFxDependsOn);
|
||||
CrossGenSymbols;
|
||||
</CollectOutputSharedFxDependsOn>
|
||||
|
||||
<PrepareForBuildDependsOn>
|
||||
PrepareOutputPaths;
|
||||
</PrepareForBuildDependsOn>
|
||||
|
||||
<ResolveReferencesDependsOn>
|
||||
BeforeResolveReferences;
|
||||
AssignProjectConfiguration;
|
||||
ResolveProjectReferences;
|
||||
FindInvalidProjectReferences;
|
||||
AfterResolveReferences
|
||||
</ResolveReferencesDependsOn>
|
||||
|
||||
<!-- The name of the shared framework. -->
|
||||
<SharedFxName Condition=" '$(SharedFxName)' == '' ">$(MSBuildProjectName)</SharedFxName>
|
||||
|
||||
<!--
|
||||
Defines the base RID for a vertical of related runtimes, e.g. Windows, macOS, Linux.
|
||||
This is used during runtime graph generation to determine which RIDs to include in the .deps.json file.
|
||||
-->
|
||||
<BaseSharedFxRid Condition="$(SharedFxRid.StartsWith('win'))">win</BaseSharedFxRid>
|
||||
<BaseSharedFxRid Condition="$(SharedFxRid.StartsWith('osx'))">osx</BaseSharedFxRid>
|
||||
<BaseSharedFxRid Condition="$(SharedFxRid.StartsWith('linux')) AND ! $(SharedFxRid.StartsWith('linux-musl')) ">linux</BaseSharedFxRid>
|
||||
<BaseSharedFxRid Condition="$(SharedFxRid.StartsWith('linux-musl'))">linux-musl</BaseSharedFxRid>
|
||||
<BaseSharedFxRid Condition="'$(BaseSharedFxRid)' == '' ">unix</BaseSharedFxRid>
|
||||
|
||||
<LibPrefix Condition=" '$(BaseSharedFxRid)' != 'win' ">lib</LibPrefix>
|
||||
<LibExtension>.so</LibExtension>
|
||||
<LibExtension Condition=" '$(BaseSharedFxRid)' == 'win' ">.dll</LibExtension>
|
||||
<LibExtension Condition=" '$(BaseSharedFxRid)' == 'osx' ">.dylib</LibExtension>
|
||||
<ExeExtension Condition=" '$(BaseSharedFxRid)' == 'win' ">.exe</ExeExtension>
|
||||
<!-- 3B = semicolon in ASCII -->
|
||||
<PathSeparator Condition="'$(PathSeparator)' == ''">:</PathSeparator>
|
||||
<PathSeparator Condition=" '$(BaseSharedFxRid)' == 'win' ">%3B</PathSeparator>
|
||||
|
||||
<IntermediateOutputPath>$(IntermediateOutputPath)$(SharedFxRid)\</IntermediateOutputPath>
|
||||
|
||||
<!-- Override the SDK Default for this location for copying published output. -->
|
||||
<PublishDir>$(IntermediateOutputPath)u\</PublishDir>
|
||||
|
||||
<!-- If symbols generation is disabled, there is no use in producing a symbols.nupkg files. -->
|
||||
<IncludeSymbols Condition="'$(CrossgenSymbolsOutput)' == 'false'">false</IncludeSymbols>
|
||||
|
||||
<MetadataOutputPath Condition="'$(MetadataOutputPath)' == ''">$(OutputPath)files\</MetadataOutputPath>
|
||||
<SymbolsOutputPath Condition="'$(SymbolsOutputPath)' == ''">$(OutputPath)symbols\</SymbolsOutputPath>
|
||||
<NativeAssetsOutputPath Condition="'$(NativeAssetsOutputPath)' == ''">$(OutputPath)native\</NativeAssetsOutputPath>
|
||||
<RuntimeAssetsOutputPath Condition="'$(RuntimeAssetsOutputPath)' == ''">$(OutputPath)lib\$(TargetFramework)\</RuntimeAssetsOutputPath>
|
||||
|
||||
<CrossGenToolDir>$(IntermediateOutputPath)crossgen\</CrossGenToolDir>
|
||||
|
||||
<!-- Map BaseSharedFrameworkName into properties used by the SDK to determine publish output trimming and deps.json generation -->
|
||||
<MicrosoftNETPlatformLibrary>$(BaseSharedFrameworkName)</MicrosoftNETPlatformLibrary>
|
||||
<!-- Prevents runtimeconfig.dev.json from ending up in publish output. -->
|
||||
<ProjectRuntimeConfigDevFilePath>$(IntermediateOutputPath)$(SharedFxName).runtimeconfig.dev.json</ProjectRuntimeConfigDevFilePath>
|
||||
<!-- Redirects the output of GeneratePublishDependencyFile into obj/ because we need to do post-processing on the .deps.json file -->
|
||||
<ProjectDepsFilePath>$(IntermediateOutputPath)$(SharedFxName).project.deps.json</ProjectDepsFilePath>
|
||||
<PublishDepsFilePath>$(IntermediateOutputPath)$(SharedFxName).publish.deps.json</PublishDepsFilePath>
|
||||
|
||||
<!-- The output path of generated files -->
|
||||
<ProjectRuntimeConfigFilePath>$(MetadataOutputPath)$(SharedFxName).runtimeconfig.json</ProjectRuntimeConfigFilePath>
|
||||
<SharedFxDepsFilePath>$(MetadataOutputPath)$(SharedFxName).deps.json</SharedFxDepsFilePath>
|
||||
<VersionFileOutputPath>$(MetadataOutputPath).version</VersionFileOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<!-- Defines different types of project references. -->
|
||||
<FrameworkProjectReference>
|
||||
<OutputItemType>_ResolvedFrameworkProjectReferencePaths</OutputItemType>
|
||||
</FrameworkProjectReference>
|
||||
|
||||
<PackageProjectReference>
|
||||
<OutputItemType>_ResolvedPackageProjectReferencePaths</OutputItemType>
|
||||
</PackageProjectReference>
|
||||
|
||||
<TargetPathWithTargetPlatformMoniker>
|
||||
<!--
|
||||
This lists all folders of assets which should be collected into the same folder in a shared framework installer.
|
||||
This is set on this item group so it flows across project references into installer projects.
|
||||
-->
|
||||
<InstallerAssetPaths>
|
||||
$(MetadataOutputPath);
|
||||
$(RuntimeAssetsOutputPath);
|
||||
$(NativeAssetsOutputPath);
|
||||
</InstallerAssetPaths>
|
||||
<MetadataOutputPath>$(MetadataOutputPath)</MetadataOutputPath>
|
||||
<RuntimeAssetsOutputPath>$(RuntimeAssetsOutputPath)</RuntimeAssetsOutputPath>
|
||||
<NativeAssetsOutputPath>$(NativeAssetsOutputPath)</NativeAssetsOutputPath>
|
||||
<SharedFxName>$(SharedFxName)</SharedFxName>
|
||||
<PackageId>$(PackageId)</PackageId>
|
||||
</TargetPathWithTargetPlatformMoniker>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.App" Version="$(RuntimeFrameworkVersion)">
|
||||
<IsImplicitlyDefined>true</IsImplicitlyDefined>
|
||||
<Publish>true</Publish>
|
||||
<PrivateAssets>All</PrivateAssets>
|
||||
<ExcludeAssets>Native</ExcludeAssets>
|
||||
<AllowExplicitVersion>true</AllowExplicitVersion>
|
||||
</PackageReference>
|
||||
|
||||
<PackageReference Include="@(Dependency)">
|
||||
<IncludeAssets>Runtime;Native</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
<ProjectReference Include="@(FrameworkProjectReference)" />
|
||||
<ProjectReference Include="@(PackageProjectReference)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Check some required properties before building a shared framework/ -->
|
||||
<Target Name="_CheckForRequiredFxProperties" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
||||
<Error Condition=" '$(BaseSharedFrameworkName)' == '' "
|
||||
Text="Missing required property: BaseSharedFrameworkName. Shared frameworks must specify which framework is used at the base." />
|
||||
|
||||
<Error Condition=" '$(SharedFxRid)' == '' "
|
||||
Text="Missing required property: SharedFxRid. Shared frameworks are rid-specific, so this must be set." />
|
||||
|
||||
<ItemGroup>
|
||||
<_UnknownRid Remove="@(_UnknownRid)" />
|
||||
<_UnknownRid Include="$(SharedFxRid)" Exclude="$(SupportedRuntimeIdentifiers)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Condition=" '@(_UnknownRid)' != '' "
|
||||
Text=""$(SharedFxRid)" not acceptable runtime identifier. Please specify an acceptable value: {$(SupportedRuntimeIdentifiers)}." />
|
||||
|
||||
<Message Importance="High" Text="Building $(SharedFxName) (fx: $(SharedFxRid))" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareOutputPaths">
|
||||
<MakeDir Directories="$(MetadataOutputPath);$(SymbolsOutputPath);$(NativeAssetsOutputPath);$(RuntimeAssetsOutputPath)" />
|
||||
</Target>
|
||||
|
||||
<!-- Generates the .version file in the shared framework -->
|
||||
<Target Name="GenerateSharedFxVersionsFile">
|
||||
<ItemGroup>
|
||||
<VersionLines Include="$(RepositoryCommit)" />
|
||||
<VersionLines Include="$(PackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<WriteLinesToFile
|
||||
File="$(VersionFileOutputPath)"
|
||||
Lines="@(VersionLines)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<!-- Generates the .deps.json file for a shared framework. -->
|
||||
<Target Name="GenerateSharedFxDependencyFile"
|
||||
Inputs="$(PublishDepsFilePath);$(ProjectAssetsFile);$(MSBuildAllProjects)"
|
||||
Outputs="$(SharedFxDepsFilePath)">
|
||||
<ProcessSharedFrameworkDeps
|
||||
FrameworkName="$(SharedFxName)"
|
||||
AssetsFilePath="$(ProjectAssetsFile)"
|
||||
DepsFilePath="$(PublishDepsFilePath)"
|
||||
OutputPath="$(SharedFxDepsFilePath)"
|
||||
PackagesToRemove="@(_ResolvedFrameworkProjectReferencePaths->'%(PackageId)')"
|
||||
ResolvedPackageProjectReferences="@(_ResolvedPackageProjectReferencePaths)"
|
||||
Runtime="$(BaseSharedFxRid)" />
|
||||
</Target>
|
||||
|
||||
<!-- Optimizes shared framework output -->
|
||||
<Target Name="CollectSharedFxOutput" DependsOnTargets="$(CollectOutputSharedFxDependsOn)">
|
||||
<Message Importance="High" Text="$(SharedFxName) (fx: $(SharedFxRid)) -> $(OutputPath)" />
|
||||
</Target>
|
||||
|
||||
<!-- Prepare the project to run crossgen. -->
|
||||
<Target Name="CopySharedFxToOutput" DependsOnTargets="RunResolvePackageDependencies;RunResolvePublishAssemblies">
|
||||
<ItemGroup>
|
||||
<NativeAssetsToPublish Include="@(ResolvedAssembliesToPublish)" Condition="'%(AssetType)' == 'native' " />
|
||||
<ResourceAssetsToPublish Include="@(ResolvedAssembliesToPublish)" Condition="'%(AssetType)' == 'resources'" />
|
||||
<RuntimeAssetsToPublish Include="@(ResolvedAssembliesToPublish)" Condition="'%(AssetType)' == 'runtime'" />
|
||||
<OtherAssemblies Include="@(ResolvedAssembliesToPublish)" Exclude="@(NativeAssetsToPublish);@(ResourceAssetsToPublish);@(RuntimeAssetsToPublish)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Unaccounted shared framework assemblies found: @(OtherAssemblies). These files have an unknown asset type." Condition="'@(OtherAssemblies)' != ''" />
|
||||
|
||||
<Copy Condition=" '$(CrossGenOutput)' != 'true' "
|
||||
SourceFiles="@(RuntimeAssetsToPublish)" DestinationFiles="@(RuntimeAssetsToPublish->'$(RuntimeAssetsOutputPath)%(DestinationSubPath)')" />
|
||||
<Copy SourceFiles="@(NativeAssetsToPublish)" DestinationFiles="@(NativeAssetsToPublish->'$(NativeAssetsOutputPath)%(DestinationSubPath)')" />
|
||||
<Copy SourceFiles="@(ResourceAssetsToPublish)" DestinationFiles="@(ResourceAssetsToPublish->'$(RuntimeAssetsOutputPath)%(DestinationSubPath)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareForCrossGen" DependsOnTargets="RunResolvePackageDependencies;RunResolvePublishAssemblies">
|
||||
<MakeDir Directories="$(CrossGenToolDir)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RuntimePackageName>Microsoft.NETCore.App</RuntimePackageName>
|
||||
<CrossGenTool>crossgen</CrossGenTool>
|
||||
<CrossGenTool Condition="$([MSBuild]::IsOSPlatform('Windows'))">$(CrossGenTool).exe</CrossGenTool>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimePackage Include="@(PackageDefinitions)" Condition="$([System.String]::new('%(PackageDefinitions.Name)').Contains('runtime')) AND $([System.String]::new('%(PackageDefinitions.Name)').Contains('$(RuntimePackageName)'))" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Could not identify the crossgen package for $(SharedFxRid)" Condition="@(RuntimePackage->Count()) == 0" />
|
||||
|
||||
<ItemGroup>
|
||||
<RuntimePackageFiles Include="%(RuntimePackage.ResolvedPath)\runtimes\**\*" />
|
||||
<CrossGenToolFile Include="%(RuntimePackage.ResolvedPath)\**\$(CrossGenTool)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Create tool directory with crossgen executable and runtime assemblies -->
|
||||
<Copy SourceFiles="@(RuntimePackageFiles);@(CrossGenToolFile)" DestinationFolder="$(CrossGenToolDir)"/>
|
||||
|
||||
<ItemGroup>
|
||||
<ClrJitAssembly Include="$(CrossGenToolDir)\**\$(LibPrefix)clrjit$(LibExtension)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="Expected to resolve a single runtime package but instead resolved @(RuntimePackage->Count()) with identities %(RuntimePackage.Identity)" Condition="'@(RuntimePackage->Count())' != 1" />
|
||||
<Error Text="Could not find crossgen in %(RuntimePackage.ResolvedPath)" Condition="@(CrossGenToolFile->Count()) == 0" />
|
||||
<Error Text="Expected to resolve a single clr jit assembly but instead resolved @(ClrJitAssembly->Count()) with identities %(ClrJitAssembly.Identity)" Condition="'@(ClrJitAssembly->Count())' != 1" />
|
||||
|
||||
<!-- Resolve list of assemblies to crossgen -->
|
||||
<ItemGroup>
|
||||
<AssembliesToCrossgen Include="@(RuntimeAssetsToPublish)">
|
||||
<Source>%(FullPath)</Source>
|
||||
<Rsp>$(IntermediateOutputPath)%(RecursiveDir)%(Filename).rsp</Rsp>
|
||||
<SymbolsRsp>$(IntermediateOutputPath)%(RecursiveDir)%(Filename).symbols.rsp</SymbolsRsp>
|
||||
<SymbolsOutputPath>$(SymbolsOutputPath)%(RecursiveDir)%(Filename).ni.pdb</SymbolsOutputPath>
|
||||
<Destination>$(RuntimeAssetsOutputPath)%(RecursiveDir)%(Filename)%(Extension)</Destination>
|
||||
<Symbols>$(SymbolsOutputPath)%(RecursiveDir)</Symbols>
|
||||
</AssembliesToCrossgen>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<!--
|
||||
Run the crossgen tool.
|
||||
This uses .rsp files to get around OS limitations in the maximum number of characters that can be passed in on command-line.
|
||||
-->
|
||||
<Target Name="CrossGenAssemblies"
|
||||
DependsOnTargets="CopySharedFxToOutput;ResolveReferences"
|
||||
Inputs="@(AssembliesToCrossgen)"
|
||||
Outputs="%(AssembliesToCrossgen.Destination)">
|
||||
|
||||
<ItemGroup>
|
||||
<!-- These are the paths used by crossgen to find assemblies that are expected to exist at runtime in the shared frameworks. -->
|
||||
<_PlatformAssemblyPaths Remove="@(_PlatformAssemblyPaths)" />
|
||||
<_PlatformAssemblyPaths Include="$(CrossGenToolDir)" />
|
||||
<_PlatformAssemblyPaths Include="$(PublishDir)" />
|
||||
<_PlatformAssemblyPaths Include="%(_ResolvedFrameworkProjectReferencePaths.RuntimeAssetsOutputPath)" Condition="'%(_ResolvedFrameworkProjectReferencePaths.RuntimeAssetsOutputPath)' != ''" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PlatformAssemblyPaths>@(_PlatformAssemblyPaths->Distinct(), '$(PathSeparator)')</PlatformAssemblyPaths>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossGenArgs Include="-nologo" />
|
||||
<CrossGenArgs Include="-readytorun" />
|
||||
<CrossGenArgs Include="-in %(AssembliesToCrossgen.Source)" />
|
||||
<CrossGenArgs Include="-out %(AssembliesToCrossgen.Destination)" />
|
||||
<CrossGenArgs Include="-platform_assemblies_paths $(PlatformAssemblyPaths)" />
|
||||
<CrossGenArgs Include="-JITPath %(ClrJitAssembly.FullPath)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Rsp)'))" />
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Destination)'))" />
|
||||
<WriteLinesToFile File="%(AssembliesToCrossgen.Rsp)" Lines="@(CrossGenArgs)" Overwrite="true" />
|
||||
|
||||
<Copy Condition="'$(CrossGenSharedFx)' == 'false'"
|
||||
SourceFiles="%(AssembliesToCrossgen.Source)"
|
||||
DestinationFiles="%(AssembliesToCrossgen.Destination)" />
|
||||
<Exec Condition="'$(CrossGenSharedFx)' != 'false'"
|
||||
Command="$(CrossGenToolDir)$(CrossGenTool) @%(AssembliesToCrossgen.Rsp)"
|
||||
EnvironmentVariables="COMPlus_PartialNGen=0"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
StandardOutputImportance="Normal" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CrossGenSymbols"
|
||||
DependsOnTargets="CrossGenAssemblies"
|
||||
Inputs="@(AssembliesToCrossgen)"
|
||||
Outputs="%(AssembliesToCrossgen.SymbolsOutputPath)">
|
||||
<PropertyGroup>
|
||||
<CrossGenSymbolsType>CreatePerfMap</CrossGenSymbolsType>
|
||||
<CrossGenSymbolsType Condition="'$(OS)' == 'Windows_NT'">CreatePDB</CrossGenSymbolsType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<CrossGenSymbolsArgs Include="-nologo" />
|
||||
<CrossGenSymbolsArgs Include="-readytorun" />
|
||||
<CrossGenSymbolsArgs Include="-platform_assemblies_paths $(PlatformAssemblyPaths)" />
|
||||
<CrossGenSymbolsArgs Include="-$(CrossGenSymbolsType)" />
|
||||
<CrossGenSymbolsArgs Include="%(AssembliesToCrossgen.Symbols)" />
|
||||
<CrossGenSymbolsArgs Include="%(AssembliesToCrossgen.Destination)" />
|
||||
</ItemGroup>
|
||||
|
||||
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(AssembliesToCrossgen.Symbols)'))" />
|
||||
<WriteLinesToFile File="%(AssembliesToCrossgen.SymbolsRsp)" Lines="@(CrossGenSymbolsArgs)" Overwrite="true" />
|
||||
|
||||
<Exec Command="$(CrossGenToolDir)$(CrossGenTool) @%(AssembliesToCrossgen.SymbolsRsp)"
|
||||
EnvironmentVariables="COMPlus_PartialNGen=0"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
StandardOutputImportance="Normal" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreateManifestResourceNames" />
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.pkgproj' ">
|
||||
<IsPackable Condition=" '$([System.IO.Path]::GetDirectoryName($(MSBuildProjectDirectory)))' == 'pkg'">true</IsPackable>
|
||||
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\pkg\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
Currently, the shared framework builds by using PackageReference to internally generate the deps.json files and move bits between projects.
|
||||
For local builds, this import is required to point to packages which actually exists. Run "build.cmd /t:GeneratePropsFiles /p:BuildNumber=xyz" to
|
||||
build the shared framework against a particular set of packages.
|
||||
-->
|
||||
<Import Condition="Exists('..\..\obj\dependencies.g.props') AND '$(DotNetPackageVersionPropsPath)' == ''" Project="..\..\obj\dependencies.g.props" />
|
||||
|
||||
<PropertyGroup Condition=" '$(MSBuildProjectExtension)' == '.shfxproj' ">
|
||||
<OutputPath>$(ArtifactsConfigurationDir)$(SharedFxRid)\$(MSBuildProjectName)\</OutputPath>
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\fx\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||
|
||||
<CrossgenOutput Condition="'$(SharedFxRid)' == 'linux-arm'">false</CrossgenOutput>
|
||||
<CrossgenSymbolsOutput Condition=" '$(CrossgenOutput)' == 'false' OR '$(SharedFxRid)' == 'osx-x64'">false</CrossgenSymbolsOutput>
|
||||
|
||||
<IncludeSymbols>true</IncludeSymbols>
|
||||
<NuspecFile>$(MSBuildThisFileDirectory)runtime.fx.nuspec</NuspecFile>
|
||||
<PackageTags>aspnetcore;shared-framework</PackageTags>
|
||||
<!-- Workaround for invalid NU5109 error when packing on macOS. -->
|
||||
<NoPackageAnalysis>true</NoPackageAnalysis>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
|
||||
|
||||
<Import Condition=" '$(MSBuildProjectExtension)' == '.pkgproj' " Project="Metapackage.targets" />
|
||||
|
||||
<Target Name="PopulateNuspec" BeforeTargets="GenerateNuspec" Condition=" '$(MSBuildProjectExtension)' == '.shfxproj' ">
|
||||
<PropertyGroup>
|
||||
<NuspecProperties>
|
||||
id=$(PackageId);
|
||||
version=$(PackageVersion);
|
||||
authors=$(Authors);
|
||||
rid=$(SharedFxRid);
|
||||
description=$(PackageDescription);
|
||||
tags=$(PackageTags.Replace(';', ' '));
|
||||
licenseUrl=$(PackageLicenseUrl);
|
||||
projectUrl=$(PackageProjectUrl);
|
||||
iconUrl=$(PackageIconUrl);
|
||||
repositoryUrl=$(RepositoryUrl);
|
||||
repositoryCommit=$(RepositoryCommit);
|
||||
copyright=$(Copyright);
|
||||
targetFramework=$(TargetFramework);
|
||||
symbolsAssets=$([MSBuild]::NormalizeDirectory($(SymbolsOutputPath)));
|
||||
nativeAssets=$([MSBuild]::NormalizeDirectory($(NativeAssetsOutputPath)));
|
||||
runtimeAssets=$([MSBuild]::NormalizeDirectory($(RuntimeAssetsOutputPath)));
|
||||
</NuspecProperties>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)">
|
||||
<ItemGroup Condition=" '$(IsPackable)' == 'true' AND '$(PackageId)' != '' ">
|
||||
<ArtifactInfo Include="$(TargetPath)">
|
||||
<ArtifactType>NuGetPackage</ArtifactType>
|
||||
<PackageId>$(PackageId)</PackageId>
|
||||
<Version>$(PackageVersion)</Version>
|
||||
</ArtifactInfo>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<RootNamespace>Microsoft.AspNetCore</RootNamespace>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
@ -11,12 +12,8 @@
|
|||
<_Parameter2>$(PackageVersion)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>DotNetRoot</_Parameter1>
|
||||
<_Parameter2>$(SharedFxOutputPath)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>SharedFxRuntimeIdentifier</_Parameter1>
|
||||
<_Parameter2>$(SharedFxRuntimeIdentifier)</_Parameter2>
|
||||
<_Parameter1>SharedFxRid</_Parameter1>
|
||||
<_Parameter2>$(SharedFxRid)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>RepositoryCommit</_Parameter1>
|
||||
|
|
@ -36,4 +33,20 @@
|
|||
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualstudioPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\**\*.shfxproj">
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
<OutputItemType>_ResolvedFrameworkReference</OutputItemType>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="GenerateTestData" BeforeTargets="GetAssemblyAttributes" DependsOnTargets="ResolveProjectReferences">
|
||||
<ItemGroup>
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData" Condition="'%(_ResolvedFrameworkReference.Identity)' != ''">
|
||||
<_Parameter1>SharedFxMetadataOutput:%(_ResolvedFrameworkReference.SharedFxName)</_Parameter1>
|
||||
<_Parameter2>%(_ResolvedFrameworkReference.MetadataOutputPath)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
@ -13,12 +13,10 @@ namespace Microsoft.AspNetCore
|
|||
[MemberData(nameof(GetSharedFxConfig))]
|
||||
public void ItContainsValidRuntimeConfigFile(SharedFxConfig config)
|
||||
{
|
||||
var root = TestData.GetDotNetRoot();
|
||||
var dir = Path.Combine(root, "shared", config.Name, config.Version);
|
||||
var runtimeConfigFilePath = Path.Combine(dir, config.Name + ".runtimeconfig.json");
|
||||
var runtimeConfigFilePath = Path.Combine(config.MetadataOutput, config.Name + ".runtimeconfig.json");
|
||||
|
||||
AssertEx.FileExists(runtimeConfigFilePath);
|
||||
AssertEx.FileDoesNotExists(Path.Combine(dir, config.Name + ".runtimeconfig.dev.json"));
|
||||
AssertEx.FileDoesNotExists(Path.Combine(config.MetadataOutput, config.Name + ".runtimeconfig.dev.json"));
|
||||
|
||||
var runtimeConfig = JObject.Parse(File.ReadAllText(runtimeConfigFilePath));
|
||||
|
||||
|
|
@ -32,9 +30,7 @@ namespace Microsoft.AspNetCore
|
|||
[MemberData(nameof(GetSharedFxConfig))]
|
||||
public void ItContainsValidDepsJson(SharedFxConfig config)
|
||||
{
|
||||
var root = TestData.GetDotNetRoot();
|
||||
var dir = Path.Combine(root, "shared", config.Name, config.Version);
|
||||
var depsFilePath = Path.Combine(dir, config.Name + ".deps.json");
|
||||
var depsFilePath = Path.Combine(config.MetadataOutput, config.Name + ".deps.json");
|
||||
|
||||
var target = $".NETCoreApp,Version=v{config.Version.Substring(0, 3)}/{config.RuntimeIdentifier}";
|
||||
|
||||
|
|
@ -47,14 +43,20 @@ namespace Microsoft.AspNetCore
|
|||
Assert.NotNull(depsFile["compilationOptions"]);
|
||||
Assert.Empty(depsFile["compilationOptions"]);
|
||||
Assert.NotEmpty(depsFile["runtimes"][config.RuntimeIdentifier]);
|
||||
Assert.All(depsFile["libraries"], item =>
|
||||
{
|
||||
var prop = Assert.IsType<JProperty>(item);
|
||||
var lib = Assert.IsType<JObject>(prop.Value);
|
||||
Assert.Equal("package", lib["type"].Value<string>());
|
||||
Assert.StartsWith("sha512-", lib["sha512"].Value<string>());
|
||||
});
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[MemberData(nameof(GetSharedFxConfig))]
|
||||
public void ItContainsVersionFile(SharedFxConfig config)
|
||||
{
|
||||
var root = TestData.GetDotNetRoot();
|
||||
var versionFile = Path.Combine(root, "shared", config.Name, config.Version, ".version");
|
||||
var versionFile = Path.Combine(config.MetadataOutput, ".version");
|
||||
AssertEx.FileExists(versionFile);
|
||||
var lines = File.ReadAllLines(versionFile);
|
||||
Assert.Equal(2, lines.Length);
|
||||
|
|
@ -62,7 +64,6 @@ namespace Microsoft.AspNetCore
|
|||
Assert.Equal(config.Version, lines[1]);
|
||||
}
|
||||
|
||||
|
||||
public static TheoryData<SharedFxConfig> GetSharedFxConfig()
|
||||
=> new TheoryData<SharedFxConfig>
|
||||
{
|
||||
|
|
@ -74,6 +75,7 @@ namespace Microsoft.AspNetCore
|
|||
BaseSharedFxVersion = TestData.GetPackageVersion(),
|
||||
BaseSharedFxName = "Microsoft.AspNetCore.App",
|
||||
RuntimeIdentifier = TestData.GetSharedFxRuntimeIdentifier(),
|
||||
MetadataOutput = TestData.GetTestDataValue("SharedFxMetadataOutput:Microsoft.AspNetCore.All")
|
||||
},
|
||||
new SharedFxConfig
|
||||
{
|
||||
|
|
@ -82,6 +84,7 @@ namespace Microsoft.AspNetCore
|
|||
BaseSharedFxName = "Microsoft.NETCore.App",
|
||||
BaseSharedFxVersion = TestData.GetMicrosoftNETCoreAppPackageVersion(),
|
||||
RuntimeIdentifier = TestData.GetSharedFxRuntimeIdentifier(),
|
||||
MetadataOutput = TestData.GetTestDataValue("SharedFxMetadataOutput:Microsoft.AspNetCore.App")
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -92,6 +95,7 @@ namespace Microsoft.AspNetCore
|
|||
public string BaseSharedFxName { get; set; }
|
||||
public string BaseSharedFxVersion { get; set; }
|
||||
public string RuntimeIdentifier { get; set; }
|
||||
public string MetadataOutput { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -12,13 +12,11 @@ namespace Microsoft.AspNetCore
|
|||
|
||||
public static string GetMicrosoftNETCoreAppPackageVersion() => GetTestDataValue("MicrosoftNETCoreAppPackageVersion");
|
||||
|
||||
public static string GetDotNetRoot() => GetTestDataValue("DotNetRoot");
|
||||
|
||||
public static string GetRepositoryCommit() => GetTestDataValue("RepositoryCommit");
|
||||
|
||||
public static string GetSharedFxRuntimeIdentifier() => GetTestDataValue("SharedFxRuntimeIdentifier");
|
||||
public static string GetSharedFxRuntimeIdentifier() => GetTestDataValue("SharedFxRid");
|
||||
|
||||
private static string GetTestDataValue(string key)
|
||||
public static string GetTestDataValue(string key)
|
||||
=> typeof(TestData).Assembly.GetCustomAttributes<TestDataAttribute>().Single(d => d.Key == key).Value;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<!-- There is no build output -->
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<!-- There are no symbols. -->
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<!-- There is no API to check -->
|
||||
<EnableApiCheck>false</EnableApiCheck>
|
||||
<!-- Manually control dependencies -->
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
<!-- The only build output of a pkgproj is the project -->
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
|
||||
<PackageId>$(MSBuildProjectName)</PackageId>
|
||||
<TargetPath>$(PackageOutputPath)$(PackageId).$(PackageVersion).nupkg</TargetPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.App" Version="$(MicrosoftNETCoreAppPackageVersion)" PrivateAssets="All" Publish="false" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<TargetPathWithTargetPlatformMoniker>
|
||||
<PackageId>$(PackageId)</PackageId>
|
||||
</TargetPathWithTargetPlatformMoniker>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
|
||||
|
||||
<Target Name="ResolveDependenciesToPackageReferences" BeforeTargets="CollectPackageReferences">
|
||||
<RepoTasks.ResolveVersionRange
|
||||
Items="@(Dependency)"
|
||||
Version="%(Version)"
|
||||
RangeType="%(VersionRangeType)">
|
||||
<Output TaskParameter="Items" ItemName="_CustomPackageReference" />
|
||||
</RepoTasks.ResolveVersionRange>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="@(_CustomPackageReference)">
|
||||
<!-- Ensure that the metapackage does not exclude build or analyzer assets. -->
|
||||
<PrivateAssets>None</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="CopyFilesToOutputDirectory" />
|
||||
<Target Name="CoreCompile" />
|
||||
<Target Name="CreateManifestResourceNames" />
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
||||
<PackageTags>aspnetcore</PackageTags>
|
||||
<PackageDescription>Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
|
||||
|
||||
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
||||
</PackageDescription>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="build\$(TargetFramework)\*.props" PackagePath="%(Identity)" />
|
||||
<Content Include="build\$(TargetFramework)\*.targets" PackagePath="%(Identity)" />
|
||||
<Content Include="lib\$(TargetFramework)\_._" PackagePath="%(Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<Dependency>
|
||||
<VersionRangeType>Minimum</VersionRangeType>
|
||||
</Dependency>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Import Project="..\..\Microsoft.AspNetCore.App\Microsoft.AspNetCore.App.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Dependency Include="Microsoft.AspNetCore.ApplicationInsights.HostingStartup" Version="$(MicrosoftAspNetCoreApplicationInsightsHostingStartupPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" Version="$(MicrosoftAspNetCoreAzureAppServicesHostingStartupPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.AzureAppServicesIntegration" Version="$(MicrosoftAspNetCoreAzureAppServicesIntegrationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.DataProtection.AzureKeyVault" Version="$(MicrosoftAspNetCoreDataProtectionAzureKeyVaultPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.DataProtection.AzureStorage" Version="$(MicrosoftAspNetCoreDataProtectionAzureStoragePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" Version="$(MicrosoftAspNetCoreServerKestrelTransportLibuvPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SignalR.Redis" Version="$(MicrosoftAspNetCoreSignalRRedisPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Data.Sqlite.Core" Version="$(MicrosoftDataSqliteCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Data.Sqlite" Version="$(MicrosoftDataSqlitePackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="$(MicrosoftEntityFrameworkCoreSqliteCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Sqlite" Version="$(MicrosoftEntityFrameworkCoreSqlitePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Caching.Redis" Version="$(MicrosoftExtensionsCachingRedisPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="$(MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.AzureAppServices" Version="$(MicrosoftExtensionsLoggingAzureAppServicesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.VisualStudio.Web.BrowserLink" Version="$(MicrosoftVisualStudioWebBrowserLinkPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<Target Name="EnsureTFMCompatibility" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
||||
<Error
|
||||
Text="This version of Microsoft.AspNetCore.All is only compatible with the netcoreapp3.0 target framework. Please target netcoreapp3.0 or choose a version of Microsoft.AspNetCore.All compatible with $(TargetFramework)."
|
||||
Condition="'$(TargetFramework)' != 'netcoreapp3.0'"/>
|
||||
Text="This version of Microsoft.AspNetCore.All is only compatible with the netcoreapp2.2 target framework. Please target netcoreapp2.2 or choose a version of Microsoft.AspNetCore.All compatible with $(TargetFramework)."
|
||||
Condition="'$(TargetFramework)' != 'netcoreapp2.2'"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
||||
<BaseSharedFrameworkName>Microsoft.AspNetCore.App</BaseSharedFrameworkName>
|
||||
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
|
||||
|
||||
<!-- The runtime Package ID is for self-contained assets. -->
|
||||
<PackageId>runtime.$(SharedFxRid).$(MSBuildProjectName)</PackageId>
|
||||
<PackageDescription>This package provides assets used for self-contained deployments of an ASP.NET Core application. It is an internal implementation package not meant for direct consumption. Please do not reference directly.
|
||||
|
||||
$(MSBuildProjectName) provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
|
||||
</PackageDescription>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageProjectReference Include="..\pkg\Microsoft.AspNetCore.All.pkgproj" />
|
||||
<FrameworkProjectReference Include="..\..\Microsoft.AspNetCore.App\src\Microsoft.AspNetCore.App.shfxproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,159 @@
|
|||
<!--
|
||||
This lists all assemblies which are part of the Microsoft.AspNetCore.App metapackage and shared framework.
|
||||
-->
|
||||
<Project>
|
||||
|
||||
<ItemGroup>
|
||||
<Dependency Include="Microsoft.AspNet.WebApi.Client" Version="$(MicrosoftAspNetWebApiClientPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Antiforgery" Version="$(MicrosoftAspNetCoreAntiforgeryPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Abstractions" Version="$(MicrosoftAspNetCoreAuthenticationAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Cookies" Version="$(MicrosoftAspNetCoreAuthenticationCookiesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Core" Version="$(MicrosoftAspNetCoreAuthenticationCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Facebook" Version="$(MicrosoftAspNetCoreAuthenticationFacebookPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Google" Version="$(MicrosoftAspNetCoreAuthenticationGooglePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="$(MicrosoftAspNetCoreAuthenticationMicrosoftAccountPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.OAuth" Version="$(MicrosoftAspNetCoreAuthenticationOAuthPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.Twitter" Version="$(MicrosoftAspNetCoreAuthenticationTwitterPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication.WsFederation" Version="$(MicrosoftAspNetCoreAuthenticationWsFederationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authentication" Version="$(MicrosoftAspNetCoreAuthenticationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authorization.Policy" Version="$(MicrosoftAspNetCoreAuthorizationPolicyPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Authorization" Version="$(MicrosoftAspNetCoreAuthorizationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Connections.Abstractions" Version="$(MicrosoftAspNetCoreConnectionsAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.CookiePolicy" Version="$(MicrosoftAspNetCoreCookiePolicyPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Cors" Version="$(MicrosoftAspNetCoreCorsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Cryptography.Internal" Version="$(MicrosoftAspNetCoreCryptographyInternalPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Cryptography.KeyDerivation" Version="$(MicrosoftAspNetCoreCryptographyKeyDerivationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.DataProtection.Abstractions" Version="$(MicrosoftAspNetCoreDataProtectionAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.DataProtection.Extensions" Version="$(MicrosoftAspNetCoreDataProtectionExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.DataProtection" Version="$(MicrosoftAspNetCoreDataProtectionPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Diagnostics.Abstractions" Version="$(MicrosoftAspNetCoreDiagnosticsAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="$(MicrosoftAspNetCoreDiagnosticsEntityFrameworkCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Version="$(MicrosoftAspNetCoreDiagnosticsHealthChecksPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Diagnostics" Version="$(MicrosoftAspNetCoreDiagnosticsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.HostFiltering" Version="$(MicrosoftAspNetCoreHostFilteringPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Hosting.Server.Abstractions" Version="$(MicrosoftAspNetCoreHostingServerAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Hosting" Version="$(MicrosoftAspNetCoreHostingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Html.Abstractions" Version="$(MicrosoftAspNetCoreHtmlAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http.Connections.Common" Version="$(MicrosoftAspNetCoreHttpConnectionsCommonPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http.Connections" Version="$(MicrosoftAspNetCoreHttpConnectionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http.Extensions" Version="$(MicrosoftAspNetCoreHttpExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http.Features" Version="$(MicrosoftAspNetCoreHttpFeaturesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.HttpOverrides" Version="$(MicrosoftAspNetCoreHttpOverridesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.HttpsPolicy" Version="$(MicrosoftAspNetCoreHttpsPolicyPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="$(MicrosoftAspNetCoreIdentityEntityFrameworkCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Identity.UI" Version="$(MicrosoftAspNetCoreIdentityUIPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Identity" Version="$(MicrosoftAspNetCoreIdentityPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.JsonPatch" Version="$(MicrosoftAspNetCoreJsonPatchPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Localization.Routing" Version="$(MicrosoftAspNetCoreLocalizationRoutingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Localization" Version="$(MicrosoftAspNetCoreLocalizationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.MiddlewareAnalysis" Version="$(MicrosoftAspNetCoreMiddlewareAnalysisPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="$(MicrosoftAspNetCoreMvcAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Analyzers" Version="$(MicrosoftAspNetCoreMvcAnalyzersPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.ApiExplorer" Version="$(MicrosoftAspNetCoreMvcApiExplorerPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Core" Version="$(MicrosoftAspNetCoreMvcCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Cors" Version="$(MicrosoftAspNetCoreMvcCorsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.DataAnnotations" Version="$(MicrosoftAspNetCoreMvcDataAnnotationsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="$(MicrosoftAspNetCoreMvcFormattersJsonPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Formatters.Xml" Version="$(MicrosoftAspNetCoreMvcFormattersXmlPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Localization" Version="$(MicrosoftAspNetCoreMvcLocalizationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="$(MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Razor.ViewCompilation" Version="$(MicrosoftAspNetCoreMvcRazorViewCompilationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.Razor" Version="$(MicrosoftAspNetCoreMvcRazorPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.RazorPages" Version="$(MicrosoftAspNetCoreMvcRazorPagesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.TagHelpers" Version="$(MicrosoftAspNetCoreMvcTagHelpersPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc.ViewFeatures" Version="$(MicrosoftAspNetCoreMvcViewFeaturesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.NodeServices" Version="$(MicrosoftAspNetCoreNodeServicesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Owin" Version="$(MicrosoftAspNetCoreOwinPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Razor.Design" Version="$(MicrosoftAspNetCoreRazorDesignPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Razor.Language" Version="$(MicrosoftAspNetCoreRazorLanguagePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Razor.Runtime" Version="$(MicrosoftAspNetCoreRazorRuntimePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Razor" Version="$(MicrosoftAspNetCoreRazorPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.ResponseCaching.Abstractions" Version="$(MicrosoftAspNetCoreResponseCachingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.ResponseCaching" Version="$(MicrosoftAspNetCoreResponseCachingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.ResponseCompression" Version="$(MicrosoftAspNetCoreResponseCompressionPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Rewrite" Version="$(MicrosoftAspNetCoreRewritePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Routing.Abstractions" Version="$(MicrosoftAspNetCoreRoutingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Routing" Version="$(MicrosoftAspNetCoreRoutingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.HttpSys" Version="$(MicrosoftAspNetCoreServerHttpSysPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.IIS" Version="$(MicrosoftAspNetCoreServerIISPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.IISIntegration" Version="$(MicrosoftAspNetCoreServerIISIntegrationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel.Core" Version="$(MicrosoftAspNetCoreServerKestrelCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="$(MicrosoftAspNetCoreServerKestrelHttpsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Version="$(MicrosoftAspNetCoreServerKestrelTransportAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" Version="$(MicrosoftAspNetCoreServerKestrelTransportSocketsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.Session" Version="$(MicrosoftAspNetCoreSessionPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SignalR.Common" Version="$(MicrosoftAspNetCoreSignalRCommonPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SignalR.Core" Version="$(MicrosoftAspNetCoreSignalRCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SignalR.Protocols.Json" Version="$(MicrosoftAspNetCoreSignalRProtocolsJsonPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SignalR" Version="$(MicrosoftAspNetCoreSignalRPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="$(MicrosoftAspNetCoreSpaServicesExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.SpaServices" Version="$(MicrosoftAspNetCoreSpaServicesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.StaticFiles" Version="$(MicrosoftAspNetCoreStaticFilesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.WebSockets" Version="$(MicrosoftAspNetCoreWebSocketsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore.WebUtilities" Version="$(MicrosoftAspNetCoreWebUtilitiesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.AspNetCore" Version="$(MicrosoftAspNetCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.CodeAnalysis.Razor" Version="$(MicrosoftCodeAnalysisRazorPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Abstractions" Version="$(MicrosoftEntityFrameworkCoreAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Analyzers" Version="$(MicrosoftEntityFrameworkCoreAnalyzersPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Design" Version="$(MicrosoftEntityFrameworkCoreDesignPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.InMemory" Version="$(MicrosoftEntityFrameworkCoreInMemoryPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Relational" Version="$(MicrosoftEntityFrameworkCoreRelationalPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.SqlServer" Version="$(MicrosoftEntityFrameworkCoreSqlServerPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore.Tools" Version="$(MicrosoftEntityFrameworkCoreToolsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.EntityFrameworkCore" Version="$(MicrosoftEntityFrameworkCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Caching.Abstractions" Version="$(MicrosoftExtensionsCachingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Caching.Memory" Version="$(MicrosoftExtensionsCachingMemoryPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Caching.SqlServer" Version="$(MicrosoftExtensionsCachingSqlServerPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.Binder" Version="$(MicrosoftExtensionsConfigurationBinderPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.FileExtensions" Version="$(MicrosoftExtensionsConfigurationFileExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.Ini" Version="$(MicrosoftExtensionsConfigurationIniPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.KeyPerFile" Version="$(MicrosoftExtensionsConfigurationKeyPerFilePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.UserSecrets" Version="$(MicrosoftExtensionsConfigurationUserSecretsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration.Xml" Version="$(MicrosoftExtensionsConfigurationXmlPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Configuration" Version="$(MicrosoftExtensionsConfigurationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.DiagnosticAdapter" Version="$(MicrosoftExtensionsDiagnosticAdapterPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="$(MicrosoftExtensionsDiagnosticsHealthChecksAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="$(MicrosoftExtensionsDiagnosticsHealthChecksPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.FileProviders.Abstractions" Version="$(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.FileProviders.Composite" Version="$(MicrosoftExtensionsFileProvidersCompositePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.FileProviders.Physical" Version="$(MicrosoftExtensionsFileProvidersPhysicalPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.FileSystemGlobbing" Version="$(MicrosoftExtensionsFileSystemGlobbingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Hosting.Abstractions" Version="$(MicrosoftExtensionsHostingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Hosting" Version="$(MicrosoftExtensionsHostingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Http" Version="$(MicrosoftExtensionsHttpPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Identity.Core" Version="$(MicrosoftExtensionsIdentityCorePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Identity.Stores" Version="$(MicrosoftExtensionsIdentityStoresPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Localization.Abstractions" Version="$(MicrosoftExtensionsLocalizationAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Localization" Version="$(MicrosoftExtensionsLocalizationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.Configuration" Version="$(MicrosoftExtensionsLoggingConfigurationPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.EventSource" Version="$(MicrosoftExtensionsLoggingEventSourcePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging.TraceSource" Version="$(MicrosoftExtensionsLoggingTraceSourcePackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Options.DataAnnotations" Version="$(MicrosoftExtensionsOptionsDataAnnotationsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
|
||||
<Dependency Include="Microsoft.Net.Http.Headers" Version="$(MicrosoftNetHttpHeadersPackageVersion)" />
|
||||
<Dependency Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" VersionRangeType="Minimum" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,11 +1,8 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<PackageTags>aspnetcore</PackageTags>
|
||||
<EnableApiCheck>false</EnableApiCheck>
|
||||
<PackageDescription>Provides a default set of APIs for building an ASP.NET Core application.
|
||||
|
||||
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
||||
|
|
@ -18,4 +15,12 @@ This package requires the ASP.NET Core runtime. This runtime is installed by the
|
|||
<Content Include="lib\$(TargetFramework)\_._" PackagePath="%(Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemDefinitionGroup>
|
||||
<Dependency>
|
||||
<VersionRangeType>MajorMinor</VersionRangeType>
|
||||
</Dependency>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Import Project="..\Microsoft.AspNetCore.App.props" />
|
||||
|
||||
</Project>
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<Target Name="EnsureTFMCompatibility" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
||||
<Error
|
||||
Text="This version of Microsoft.AspNetCore.App is only compatible with the netcoreapp3.0 target framework. Please target netcoreapp3.0 or choose a version of Microsoft.AspNetCore.App compatible with $(TargetFramework)."
|
||||
Condition="'$(TargetFramework)' != 'netcoreapp3.0'"/>
|
||||
Text="This version of Microsoft.AspNetCore.App is only compatible with the netcoreapp2.2 target framework. Please target netcoreapp2.2 or choose a version of Microsoft.AspNetCore.App compatible with $(TargetFramework)."
|
||||
Condition="'$(TargetFramework)' != 'netcoreapp2.2'"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
||||
<BaseSharedFrameworkName>Microsoft.NETCore.App</BaseSharedFrameworkName>
|
||||
<RuntimeFrameworkVersion>$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
|
||||
|
||||
<!-- The runtime Package ID is for self-contained assets. -->
|
||||
<PackageId>runtime.$(SharedFxRid).$(MSBuildProjectName)</PackageId>
|
||||
<PackageDescription>This package provides assets used for self-contained deployments of an ASP.NET Core application. It is an internal implementation package not meant for direct consumption. Please do not reference directly.
|
||||
|
||||
$(MSBuildProjectName) provides a default set of APIs for building an ASP.NET Core application.
|
||||
</PackageDescription>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageProjectReference Include="..\pkg\Microsoft.AspNetCore.App.pkgproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
|
||||
<metadata minClientVersion="2.12">
|
||||
<id>$id$</id>
|
||||
<version>$version$</version>
|
||||
<authors>$authors$</authors>
|
||||
<licenseUrl>$licenseUrl$</licenseUrl>
|
||||
<projectUrl>$projectUrl$</projectUrl>
|
||||
<iconUrl>$iconUrl$</iconUrl>
|
||||
<description>$description$</description>
|
||||
<copyright>$copyright$</copyright>
|
||||
<tags>$tags$</tags>
|
||||
<repository type="git" url="$repositoryUrl$" commit="$repositoryCommit$" />
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<serviceable>true</serviceable>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="$symbolsAssets$" target="runtimes/$rid$/lib/$targetFramework$/" />
|
||||
<file src="$runtimeAssets$" target="runtimes/$rid$/lib/$targetFramework$/" />
|
||||
<file src="$nativeAssets$" target="runtimes/$rid$/native/" />
|
||||
<!-- This is a dummy reference which prevents NuGet from adding any compilation references when this package is imported. -->
|
||||
<file src="_._" target="ref/netstandard/" />
|
||||
</files>
|
||||
</package>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<!--
|
||||
This archive should only contain the ASP.NET Core shared runtime and is intended for internal-use only.
|
||||
For example, this .zip is used to handoff bits to partner teams who then incorporate our shared frameworks
|
||||
into their installers or redist's.
|
||||
-->
|
||||
<Project>
|
||||
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Use a short folder name to avoid MAX_PATH issues on Windows -->
|
||||
<IntermediateOutputPath>$(RepositoryRoot)obj\ai\$(SharedFxRid)\</IntermediateOutputPath>
|
||||
<OutputFileName>$(InternalInstallerBaseName)-$(PackageVersion)-$(SharedFxRid)$(ArchiveExtension)</OutputFileName>
|
||||
<OutputPath>$(InstallersOutputPath)</OutputPath>
|
||||
<TargetPath>$(InstallersOutputPath)$(OutputFileName)</TargetPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Framework\*\src\*.shfxproj">
|
||||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
|
||||
<OutputItemType>_ResolvedFxProjects</OutputItemType>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
|
||||
|
||||
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
|
||||
|
||||
<Target Name="Build" DependsOnTargets="ResolveProjectReferences;GetTargetPath">
|
||||
<MakeDir Directories="$(OutputPath);$(IntermediateOutputPath)" />
|
||||
|
||||
<ItemGroup>
|
||||
<SharedFxAssetFolder Include="%(_ResolvedFxProjects.InstallerAssetPaths)" SharedFxName="%(_ResolvedFxProjects.SharedFxName)" />
|
||||
<FileToZip Include="%(SharedFxAssetFolder.Identity)\**\*">
|
||||
<DestinationDir>$(IntermediateOutputPath)shared\%(SharedFxAssetFolder.SharedFxName)\$(PackageVersion)\</DestinationDir>
|
||||
</FileToZip>
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(FileToZip)" DestinationFiles="@(FileToZip->'%(DestinationDir)%(RecursiveDir)%(FileName)%(Extension)')" />
|
||||
|
||||
<Exec Condition="'$(ArchiveExtension)' == '.tar.gz'"
|
||||
Command="tar -czf $(TargetPath) -C $(IntermediateOutputPath) ." />
|
||||
|
||||
<ZipDirectory Condition="'$(ArchiveExtension)' == '.zip'"
|
||||
DestinationFile="$(TargetPath)"
|
||||
SourceDirectory="$(IntermediateOutputPath)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
<!--
|
||||
This archive contains everything necessary to use the ASP.NET Core shared runtime,
|
||||
including binaries from the base .NET Core runtime and the dotnet.exe muxer.
|
||||
-->
|
||||
<Project>
|
||||
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Use a short folder name to avoid MAX_PATH issues on Windows -->
|
||||
<BaseIntermediateOutputPath>$(RepositoryRoot)obj\ar\</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(SharedFxRid)\</IntermediateOutputPath>
|
||||
<OutputFileName>$(RuntimeInstallerBaseName)-$(PackageVersion)-$(SharedFxRid)$(ArchiveExtension)</OutputFileName>
|
||||
<OutputPath>$(InstallersOutputPath)</OutputPath>
|
||||
<TargetPath>$(InstallersOutputPath)$(OutputFileName)</TargetPath>
|
||||
<DotNetRuntimeArchiveFileName>dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFxRid)$(ArchiveExtension)</DotNetRuntimeArchiveFileName>
|
||||
<DotNetRuntimeDownloadUrl>$(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppPackageVersion)/$(DotNetRuntimeArchiveFileName)</DotNetRuntimeDownloadUrl>
|
||||
<DotNetRuntimeArchive>$(BaseIntermediateOutputPath)$(DotNetRuntimeArchiveFileName)</DotNetRuntimeArchive>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Framework\*\src\*.shfxproj">
|
||||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
|
||||
<OutputItemType>_ResolvedFxProjects</OutputItemType>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
|
||||
|
||||
<Target Name="GetTargetPath" Returns="$(TargetPath)" />
|
||||
|
||||
<Target Name="Build" DependsOnTargets="ResolveProjectReferences;GetTargetPath">
|
||||
<MakeDir Directories="$(OutputPath);$(IntermediateOutputPath)" />
|
||||
|
||||
<DownloadFile Condition=" ! Exists('$(DotNetRuntimeArchive)')"
|
||||
SourceUrl="$(DotNetRuntimeDownloadUrl)$(DotNetAssetRootAccessTokenSuffix)"
|
||||
DestinationFolder="$(BaseIntermediateOutputPath)"
|
||||
DestinationFileName="$(DotNetRuntimeArchiveFileName)" />
|
||||
|
||||
<ItemGroup>
|
||||
<SharedFxAssetFolder Include="%(_ResolvedFxProjects.InstallerAssetPaths)" SharedFxName="%(_ResolvedFxProjects.SharedFxName)" />
|
||||
<FileToZip Include="%(SharedFxAssetFolder.Identity)\**\*">
|
||||
<DestinationDir>$(IntermediateOutputPath)shared\%(SharedFxAssetFolder.SharedFxName)\$(PackageVersion)\</DestinationDir>
|
||||
</FileToZip>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Extract the dotnet-runtime archive -->
|
||||
<Exec Condition="'$(ArchiveExtension)' == '.tar.gz'"
|
||||
Command="tar -xzf $(DotNetRuntimeArchive) -C $(IntermediateOutputPath)" />
|
||||
|
||||
<Unzip Condition="'$(ArchiveExtension)' == '.zip'"
|
||||
SourceFiles="$(DotNetRuntimeArchive)"
|
||||
DestinationFolder="$(IntermediateOutputPath)"
|
||||
OverwriteReadOnlyFiles="true" />
|
||||
|
||||
<Copy SourceFiles="@(FileToZip)" DestinationFiles="@(FileToZip->'%(DestinationDir)%(RecursiveDir)%(FileName)%(Extension)')" />
|
||||
|
||||
<!-- Zip up all contents of the archive. -->
|
||||
|
||||
<Exec Condition="'$(ArchiveExtension)' == '.tar.gz'"
|
||||
Command="tar -czf $(TargetPath) -C $(IntermediateOutputPath) ." />
|
||||
|
||||
<ZipDirectory Condition="'$(ArchiveExtension)' == '.zip'"
|
||||
DestinationFile="$(TargetPath)"
|
||||
SourceDirectory="$(IntermediateOutputPath)"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<Project>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
|
||||
<!-- Name = aspnet-runtime-internal for files are only produced so we can hand them off to the dotnet/cli repo. -->
|
||||
<InternalInstallerBaseName>$(RuntimeInstallerBaseName)-internal</InternalInstallerBaseName>
|
||||
|
||||
<ArchiveExtension>.tar.gz</ArchiveExtension>
|
||||
<ArchiveExtension Condition="$(SharedFxRid.StartsWith('win'))">.zip</ArchiveExtension>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -8,10 +8,6 @@
|
|||
<BaseIntermediateOutputPath>$(RootOutputPath)obj/$(MSBuildProjectName)/</BaseIntermediateOutputPath>
|
||||
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)/</IntermediateOutputPath>
|
||||
<IntermediateOutputPath Condition=" '$(Platform)' != '' AND '$(Platform)' != 'AnyCPU' ">$(IntermediateOutputPath)$(Platform)/</IntermediateOutputPath>
|
||||
|
||||
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
|
||||
<!-- Name = aspnet-runtime-internal because .wixlib files are only produced so we can hand them off to the dotnet/cli repo. -->
|
||||
<WixlibBaseFileName>$(RuntimeInstallerBaseName)-internal</WixlibBaseFileName>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<Name>AspNetCoreSharedFrameworkLib$(Platform)</Name>
|
||||
<OutputName>$(WixlibBaseFileName)-$(PackageVersion)-win-$(Platform)</OutputName>
|
||||
<!-- Use the internal installer name because .wixlib files are only produced so we can hand them off to the dotnet/cli repo. -->
|
||||
<OutputName>$(InternalInstallerBaseName)-$(PackageVersion)-win-$(Platform)</OutputName>
|
||||
<OutputType>Library</OutputType>
|
||||
<LibBindFiles>true</LibBindFiles>
|
||||
<NamespaceGuid>$(SharedFrameworkNamespaceGuid)</NamespaceGuid>
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
<Project>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Internal.AspNetCore.Sdk" Version="$(InternalAspNetCoreSdkPackageVersion)" PrivateAssets="All" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<Project>
|
||||
<Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)">
|
||||
<ItemGroup>
|
||||
<ArtifactInfo Include="$(PackageOutputPath)$(PackageId).$(PackageVersion).nupkg">
|
||||
<ArtifactType>NuGetPackage</ArtifactType>
|
||||
<PackageId>$(PackageId)</PackageId>
|
||||
<Version>$(PackageVersion)</Version>
|
||||
</ArtifactInfo>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<TargetFramework>netcoreapp3.0</TargetFramework>
|
||||
<PackageTags>aspnetcore</PackageTags>
|
||||
<EnableApiCheck>false</EnableApiCheck>
|
||||
<PackageDescription>Provides a default set of APIs for building an ASP.NET Core application, and also includes API for third-party integrations with ASP.NET Core.
|
||||
|
||||
This package requires the ASP.NET Core runtime. This runtime is installed by the .NET Core SDK, or can be acquired separately using installers available at https://aka.ms/dotnet-download.
|
||||
</PackageDescription>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="build\$(TargetFramework)\*.props" PackagePath="%(Identity)" />
|
||||
<Content Include="build\$(TargetFramework)\*.targets" PackagePath="%(Identity)" />
|
||||
<Content Include="lib\$(TargetFramework)\_._" PackagePath="%(Identity)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<IncludeBuildOutput>false</IncludeBuildOutput>
|
||||
<IncludeSymbols>false</IncludeSymbols>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageTags>aspnetcore</PackageTags>
|
||||
<Description>Microsoft.AspNetCore.Analyzers</Description>
|
||||
|
||||
<VersionPrefix>$(ExperimentalVersionPrefix)</VersionPrefix>
|
||||
<VersionSuffix>$(ExperimentalVersionSuffix)</VersionSuffix>
|
||||
<PackageVersion>$(ExperimentalPackageVersion)</PackageVersion>
|
||||
<VerifyVersion>false</VerifyVersion>
|
||||
|
||||
<EnableApiCheck>false</EnableApiCheck>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -5,9 +5,13 @@ VisualStudioVersion = 15.0.26124.0
|
|||
MinimumVisualStudioVersion = 15.0.26124.0
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{0ED05384-4F64-44BA-A4AA-47519DA26E8C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension", "src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj", "{69E22952-302D-4C56-B2BE-7C086EB05C79}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension", "src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\Microsoft.AspNetCore.AzureAppServices.SiteExtension.csproj", "{69E22952-302D-4C56-B2BE-7C086EB05C79}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Web.Xdt.Extensions", "src\Microsoft.Web.Xdt.Extensions\Microsoft.Web.Xdt.Extensions.csproj", "{637E1D65-7F1C-476B-AD0A-30B295DF5414}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Web.Xdt.Extensions", "src\Microsoft.Web.Xdt.Extensions\Microsoft.Web.Xdt.Extensions.csproj", "{637E1D65-7F1C-476B-AD0A-30B295DF5414}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{6C71D9CD-271C-41CB-ACCD-9EABED6C9E80}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests", "test\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests.csproj", "{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
|
@ -18,9 +22,6 @@ Global
|
|||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{69E22952-302D-4C56-B2BE-7C086EB05C79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{69E22952-302D-4C56-B2BE-7C086EB05C79}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
|
|
@ -46,9 +47,28 @@ Global
|
|||
{637E1D65-7F1C-476B-AD0A-30B295DF5414}.Release|x64.Build.0 = Release|Any CPU
|
||||
{637E1D65-7F1C-476B-AD0A-30B295DF5414}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{637E1D65-7F1C-476B-AD0A-30B295DF5414}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{69E22952-302D-4C56-B2BE-7C086EB05C79} = {0ED05384-4F64-44BA-A4AA-47519DA26E8C}
|
||||
{637E1D65-7F1C-476B-AD0A-30B295DF5414} = {0ED05384-4F64-44BA-A4AA-47519DA26E8C}
|
||||
{A0798DB8-7681-4F00-94EC-CC966F4F3CD0} = {6C71D9CD-271C-41CB-ACCD-9EABED6C9E80}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {7ACE43EF-2C19-4D80-B7DB-0169D9302623}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@
|
|||
<InternalAspNetCoreSdkPackageVersion>2.2.0-preview2-20181004.6</InternalAspNetCoreSdkPackageVersion>
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>2.1.1-rtm-31076</MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>2.2.0-rtm-35515</MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>
|
||||
<MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
|
||||
<MicrosoftWebXdtPackageVersion>1.4.0</MicrosoftWebXdtPackageVersion>
|
||||
<XunitPackageVersion>2.4.0</XunitPackageVersion>
|
||||
<XunitRunnerVisualStudioPackageVersion>2.4.0</XunitRunnerVisualStudioPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"sdk": {
|
||||
"version": "2.2.100-preview2-009404"
|
||||
"version": "2.2.100-preview3-009430"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Internal.AspNetCore.Sdk": "3.0.0-alpha1-20181018.6"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<Project>
|
||||
<Import Project="..\Directory.Build.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<DeveloperBuildTestTfms>netcoreapp2.2</DeveloperBuildTestTfms>
|
||||
<StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
|
||||
|
||||
<StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(StandardTestTfms);net461</StandardTestTfms>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualStudioPackageVersion)" />
|
||||
<PackageReference Include="xunit" Version="$(XunitPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net461</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="..\..\src\Microsoft.AspNetCore.AzureAppServices.SiteExtension\applicationHost.xdt" Link="applicationHost.xdt">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="config_empty.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="config_existingemptyvalue.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="config_existingline.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="config_existingvalue.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Microsoft.Web.Xdt.Extensions\Microsoft.Web.Xdt.Extensions.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Xml;
|
||||
using Microsoft.Web.XmlTransform;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNetCore.AzureAppServices.SiteExtension
|
||||
{
|
||||
public class TransformTest
|
||||
{
|
||||
private static readonly string XdtExtensionPath = AppDomain.CurrentDomain.BaseDirectory;
|
||||
|
||||
[Theory]
|
||||
[InlineData("config_empty.xml")]
|
||||
[InlineData("config_existingline.xml")]
|
||||
[InlineData("config_existingEmptyValue.xml")]
|
||||
public void Transform_EmptyConfig_Added(string configFile)
|
||||
{
|
||||
var doc = LoadDocAndRunTransform(configFile);
|
||||
|
||||
Assert.Equal(2, doc.ChildNodes.Count);
|
||||
var envNode = doc["configuration"]?["system.webServer"]?["runtime"]?["environmentVariables"];
|
||||
|
||||
Assert.NotNull(envNode);
|
||||
|
||||
Assert.Equal(3, envNode.ChildNodes.Count);
|
||||
|
||||
var depsElement = envNode.FirstChild;
|
||||
Assert.Equal("add", depsElement.Name);
|
||||
Assert.Equal("DOTNET_ADDITIONAL_DEPS", depsElement.Attributes["name"].Value);
|
||||
Assert.Equal($@"{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" +
|
||||
@"%ProgramFiles%\dotnet\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\",
|
||||
depsElement.Attributes["value"].Value);
|
||||
|
||||
var sharedStoreElement = depsElement.NextSibling;
|
||||
Assert.Equal("add", sharedStoreElement.Name);
|
||||
Assert.Equal("DOTNET_SHARED_STORE", sharedStoreElement.Attributes["name"].Value);
|
||||
Assert.Equal($@"{XdtExtensionPath}\store", sharedStoreElement.Attributes["value"].Value);
|
||||
|
||||
var startupAssembliesElement = sharedStoreElement.NextSibling;
|
||||
Assert.Equal("add", startupAssembliesElement.Name);
|
||||
Assert.Equal("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", startupAssembliesElement.Attributes["name"].Value);
|
||||
Assert.Equal("Microsoft.AspNetCore.AzureAppServices.HostingStartup", startupAssembliesElement.Attributes["value"].Value);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Transform_ExistingValue_AppendsValue()
|
||||
{
|
||||
var doc = LoadDocAndRunTransform("config_existingvalue.xml");
|
||||
|
||||
Assert.Equal(2, doc.ChildNodes.Count);
|
||||
var envNode = doc["configuration"]?["system.webServer"]?["runtime"]?["environmentVariables"];
|
||||
|
||||
Assert.NotNull(envNode);
|
||||
|
||||
Assert.Equal(3, envNode.ChildNodes.Count);
|
||||
|
||||
var depsElement = envNode.FirstChild;
|
||||
Assert.Equal("add", depsElement.Name);
|
||||
Assert.Equal("DOTNET_ADDITIONAL_DEPS", depsElement.Attributes["name"].Value);
|
||||
Assert.Equal(@"ExistingValue1;"+
|
||||
$@"{XdtExtensionPath}\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\;" +
|
||||
@"%ProgramFiles%\dotnet\additionalDeps\Microsoft.AspNetCore.AzureAppServices.HostingStartup\",
|
||||
depsElement.Attributes["value"].Value);
|
||||
|
||||
var sharedStoreElement = depsElement.NextSibling;
|
||||
Assert.Equal("add", sharedStoreElement.Name);
|
||||
Assert.Equal("DOTNET_SHARED_STORE", sharedStoreElement.Attributes["name"].Value);
|
||||
Assert.Equal($@"ExistingValue3;{XdtExtensionPath}\store", sharedStoreElement.Attributes["value"].Value);
|
||||
|
||||
var startupAssembliesElement = sharedStoreElement.NextSibling;
|
||||
Assert.Equal("add", startupAssembliesElement.Name);
|
||||
Assert.Equal("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", startupAssembliesElement.Attributes["name"].Value);
|
||||
Assert.Equal("ExistingValue2;Microsoft.AspNetCore.AzureAppServices.HostingStartup", startupAssembliesElement.Attributes["value"].Value);
|
||||
}
|
||||
|
||||
private static XmlDocument LoadDocAndRunTransform(string docName)
|
||||
{
|
||||
// Microsoft.Web.Hosting.Transformers.ApplicationHost.SiteExtensionDefinition.Transform
|
||||
// (See Microsoft.Web.Hosting, Version=7.1.0.0) replaces variables for you in Azure.
|
||||
var transformFile = File.ReadAllText("applicationHost.xdt");
|
||||
transformFile = transformFile.Replace("%XDT_EXTENSIONPATH%", XdtExtensionPath);
|
||||
var transform = new XmlTransformation(transformFile, isTransformAFile: false, logger: null);
|
||||
var doc = new XmlDocument();
|
||||
doc.Load(docName);
|
||||
Assert.True(transform.Apply(doc));
|
||||
return doc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<runtime>
|
||||
<environmentVariables>
|
||||
<add name="DOTNET_ADDITIONAL_DEPS" value="" />
|
||||
<add name="DOTNET_SHARED_STORE" value="" />
|
||||
<add name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="" />
|
||||
</environmentVariables>
|
||||
</runtime>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<runtime>
|
||||
<environmentVariables>
|
||||
<add name="DOTNET_ADDITIONAL_DEPS" />
|
||||
<add name="DOTNET_SHARED_STORE" />
|
||||
<add name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" />
|
||||
</environmentVariables>
|
||||
</runtime>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<system.webServer>
|
||||
<runtime>
|
||||
<environmentVariables>
|
||||
<add name="DOTNET_ADDITIONAL_DEPS" value="ExistingValue1" />
|
||||
<add name="DOTNET_SHARED_STORE" value="ExistingValue3" />
|
||||
<add name="ASPNETCORE_HOSTINGSTARTUPASSEMBLIES" value="ExistingValue2" />
|
||||
</environmentVariables>
|
||||
</runtime>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
|
|
@ -190,6 +190,7 @@ namespace Cli.FunctionalTests.Templates
|
|||
"Microsoft.Extensions.Options.dll",
|
||||
"Microsoft.Extensions.Primitives.dll",
|
||||
"Microsoft.Extensions.WebEncoders.dll",
|
||||
"Microsoft.IdentityModel.JsonWebTokens.dll",
|
||||
"Microsoft.IdentityModel.Logging.dll",
|
||||
"Microsoft.IdentityModel.Protocols.dll",
|
||||
"Microsoft.IdentityModel.Protocols.OpenIdConnect.dll",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<AspNetCorePatchVersion>0</AspNetCorePatchVersion>
|
||||
<PreReleaseLabel>alpha1</PreReleaseLabel>
|
||||
<PreReleaseBrandingLabel>Alpha 1</PreReleaseBrandingLabel>
|
||||
<BuildNumber Condition="'$(BuildNumber)' == ''">t000</BuildNumber>
|
||||
<BuildNumber Condition="'$(BuildNumber)' == '' OR '$(UsingLocalBuildNumber)' == 'true'">$([System.DateTime]::Now.ToString('yyMMdd'))-99</BuildNumber>
|
||||
<VersionPrefix>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion)</VersionPrefix>
|
||||
<ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix>
|
||||
<VersionSuffix>$(PreReleaseLabel)-$(BuildNumber)</VersionSuffix>
|
||||
|
|
|
|||
Loading…
Reference in New Issue