Merge branch 'master' into merge/release/5.0-preview4-to-master
This commit is contained in:
commit
81d269d6f3
|
|
@ -19,6 +19,8 @@ pr:
|
|||
- '*'
|
||||
|
||||
variables:
|
||||
- name: DOTNET_CLI_HOME
|
||||
value: $(Agent.BuildDirectory)
|
||||
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
|
||||
value: true
|
||||
- name: _TeamName
|
||||
|
|
@ -48,7 +50,7 @@ variables:
|
|||
- group: DotNet-MSRC-Storage
|
||||
- name: _InternalRuntimeDownloadArgs
|
||||
value: -DotNetRuntimeSourceFeed https://dotnetclimsrc.blob.core.windows.net/dotnet -DotNetRuntimeSourceFeedKey $(dotnetclimsrc-read-sas-token-base64) /p:DotNetAssetRootAccessTokenSuffix='$(dotnetclimsrc-read-sas-token-base64)'
|
||||
# The code signing doesn't use the aspnet build scripts, so the msbuild parameers have
|
||||
# The code signing doesn't use the aspnet build scripts, so the msbuild parameters have
|
||||
# to be passed directly. This is awkward, since we pass the same info above, but we have
|
||||
# to have it in two different forms
|
||||
- name: _InternalRuntimeDownloadCodeSignArgs
|
||||
|
|
@ -78,8 +80,6 @@ variables:
|
|||
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
|
||||
/p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
|
||||
|
||||
# used for post-build phases, internal builds only
|
||||
- group: DotNet-AspNet-SDLValidation-Params
|
||||
- ${{ if in(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- name: _BuildArgs
|
||||
value: ''
|
||||
|
|
@ -100,14 +100,6 @@ stages:
|
|||
jobDisplayName: Code check
|
||||
agentOs: Windows
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- powershell: ./eng/scripts/CodeCheck.ps1 -ci $(_InternalRuntimeDownloadArgs)
|
||||
displayName: Run eng/scripts/CodeCheck.ps1
|
||||
artifacts:
|
||||
|
|
@ -135,21 +127,11 @@ stages:
|
|||
# This is intentional to workaround https://github.com/dotnet/arcade/issues/1957 which always re-submits for code-signing, even
|
||||
# if they have already been signed. This results in slower builds due to re-submitting the same .nupkg many times for signing.
|
||||
# The sign settings have been configured to
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
-pack
|
||||
-all
|
||||
-buildNative
|
||||
/bl:artifacts/log/build.x64.binlog
|
||||
$(_BuildArgs)
|
||||
$(_InternalRuntimeDownloadArgs)
|
||||
|
|
@ -162,7 +144,6 @@ stages:
|
|||
-arch x86
|
||||
-pack
|
||||
-all
|
||||
-buildNative
|
||||
-noBuildJava
|
||||
/p:OnlyPackPlatformSpecificPackages=true
|
||||
/bl:artifacts/log/build.x86.binlog
|
||||
|
|
@ -325,14 +306,6 @@ stages:
|
|||
agentOs: Linux
|
||||
useHostedUbuntu: false
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- script: ./build.sh
|
||||
--ci
|
||||
--arch x64
|
||||
|
|
@ -492,6 +465,7 @@ stages:
|
|||
jobName: Linux_musl_arm64_build
|
||||
jobDisplayName: "Build: Linux Musl ARM64"
|
||||
agentOs: Linux
|
||||
useHostedUbuntu: false
|
||||
buildScript: ./dockerbuild.sh ubuntu-alpine37
|
||||
buildArgs:
|
||||
--ci
|
||||
|
|
@ -528,7 +502,7 @@ stages:
|
|||
jobDisplayName: "Test: Windows Server 2016 x64"
|
||||
agentOs: Windows
|
||||
isTestingJob: true
|
||||
buildArgs: -all -pack -test -BuildNative "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
|
||||
buildArgs: -all -pack -test "/p:SkipHelixReadyTests=true /p:SkipIISNewHandlerTests=true /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISNewShimTests=true /p:RunTemplateTests=false" $(_InternalRuntimeDownloadArgs)
|
||||
beforeBuild:
|
||||
- powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
|
||||
displayName: Setup IISExpress test certificates and schema
|
||||
|
|
@ -564,14 +538,6 @@ stages:
|
|||
agentOs: Windows
|
||||
isTestingJob: true
|
||||
steps:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- script: ./build.cmd -ci -all -pack $(_InternalRuntimeDownloadArgs)
|
||||
displayName: Build Repo
|
||||
- script: ./src/ProjectTemplates/build.cmd -ci -pack -NoRestore -NoBuilddeps "/p:RunTemplateTests=true /bl:artifacts/log/template.pack.binlog"
|
||||
|
|
@ -675,11 +641,11 @@ stages:
|
|||
timeoutInMinutes: 180
|
||||
steps:
|
||||
# Build the shared framework
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
|
||||
displayName: Build shared fx
|
||||
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
|
||||
displayName: Restore
|
||||
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildInteropProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Restore interop projects
|
||||
- script: .\build.cmd -ci -NoRestore -test -all -projects eng\helix\helix.proj /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Run build.cmd helix target
|
||||
env:
|
||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||
|
|
@ -699,12 +665,11 @@ stages:
|
|||
timeoutInMinutes: 180
|
||||
steps:
|
||||
# Build the shared framework
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.daily.build.x64.binlog
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.daily.build.x64.binlog
|
||||
displayName: Build shared fx
|
||||
# Build the x86 shared framework
|
||||
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
|
||||
displayName: Restore
|
||||
- script: .\build.cmd -ci -NoRestore -test -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildInteropProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Restore interop projects
|
||||
- script: .\build.cmd -ci -NoRestore -test -all -projects eng\helix\helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Run build.cmd helix target
|
||||
env:
|
||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||
|
|
@ -727,7 +692,7 @@ stages:
|
|||
# Build the shared framework
|
||||
- script: ./restore.sh -ci
|
||||
displayName: Restore
|
||||
- script: ./build.sh -ci --arch arm64 -test --no-build-nodejs -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:BuildAllProjects=true /p:BuildNative=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
- script: ./build.sh -ci --arch arm64 -test --no-build-nodejs --all -projects $(Build.SourcesDirectory)/eng/helix/helix.proj /p:IsHelixJob=true /p:IsHelixDaily=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Run build.sh helix arm64 target
|
||||
env:
|
||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||
|
|
@ -816,18 +781,3 @@ stages:
|
|||
# See https://github.com/dotnet/arcade/issues/2871
|
||||
enableSymbolValidation: false
|
||||
publishInstallersAndChecksums: true
|
||||
# This is to enable SDL runs part of Post-Build Validation Stage
|
||||
SDLValidationParameters:
|
||||
enable: false
|
||||
continueOnError: false
|
||||
params: ' -SourceToolsList @("policheck","credscan")
|
||||
-TsaInstanceURL $(_TsaInstanceURL)
|
||||
-TsaProjectName $(_TsaProjectName)
|
||||
-TsaNotificationEmail $(_TsaNotificationEmail)
|
||||
-TsaCodebaseAdmin $(_TsaCodebaseAdmin)
|
||||
-TsaBugAreaPath $(_TsaBugAreaPath)
|
||||
-TsaIterationPath $(_TsaIterationPath)
|
||||
-TsaRepositoryName "AspNetCore"
|
||||
-TsaCodebaseName "AspNetCore"
|
||||
-TsaPublish $True
|
||||
-PoliCheckAdditionalRunConfigParams @("UserExclusionPath < $(Build.SourcesDirectory)/eng/PoliCheckExclusions.xml")'
|
||||
|
|
|
|||
|
|
@ -31,12 +31,12 @@ stages:
|
|||
steps:
|
||||
- script: git submodule init
|
||||
- script: git submodule update --recursive
|
||||
- script: cd ./src/Components
|
||||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.components.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/Components
|
||||
artifacts:
|
||||
- name: Windows_Logs
|
||||
path: artifacts/log/
|
||||
|
|
@ -56,12 +56,12 @@ stages:
|
|||
steps:
|
||||
- script: git submodule init
|
||||
- script: git submodule update --recursive
|
||||
- script: cd ./src/Servers
|
||||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.servers.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/Servers
|
||||
artifacts:
|
||||
- name: Windows_Logs
|
||||
path: artifacts/log/
|
||||
|
|
@ -81,12 +81,12 @@ stages:
|
|||
steps:
|
||||
- script: git submodule init
|
||||
- script: git submodule update --recursive
|
||||
- script: cd ./src/ProjectTemplates
|
||||
- script: ./build.cmd
|
||||
-ci
|
||||
-arch x64
|
||||
/bl:artifacts/log/build.projectTemplates.x64.binlog
|
||||
displayName: Build x64
|
||||
workingDirectory: ./src/ProjectTemplates
|
||||
artifacts:
|
||||
- name: Windows_Logs
|
||||
path: artifacts/log/
|
||||
|
|
|
|||
|
|
@ -28,14 +28,6 @@ jobs:
|
|||
contents: '**/*.nupkg'
|
||||
targetFolder: $(Build.SourcesDirectory)/artifacts/packages/$(BuildConfiguration)/shipping/
|
||||
flattenFolders: true
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- powershell: .\eng\common\build.ps1
|
||||
-ci
|
||||
-restore
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ jobs:
|
|||
- _BuildConfig: ${{ parameters.configuration }}
|
||||
- BuildConfiguration: ${{ parameters.configuration }}
|
||||
- BuildDirectory: ${{ parameters.buildDirectory }}
|
||||
- DOTNET_CLI_HOME: $(Agent.BuildDirectory)
|
||||
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
|
||||
- TeamName: AspNetCore
|
||||
- ${{ if and(eq(parameters.installJdk, 'true'), eq(parameters.agentOs, 'Windows')) }}:
|
||||
|
|
@ -171,27 +172,28 @@ jobs:
|
|||
|
||||
- ${{ parameters.beforeBuild }}
|
||||
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- ${{ if eq(parameters.agentOs, 'Windows') }}:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- ${{ if ne(parameters.agentOs, 'Windows') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
- ${{ if ne(parameters.steps, '')}}:
|
||||
- ${{ parameters.steps }}
|
||||
- ${{ if eq(parameters.steps, '')}}:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- ${{ if eq(parameters.agentOs, 'Windows') }}:
|
||||
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
||||
- task: PowerShell@2
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
|
||||
arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- ${{ if ne(parameters.agentOs, 'Windows') }}:
|
||||
- task: Bash@3
|
||||
displayName: Setup Private Feeds Credentials
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
|
||||
arguments: $(Build.SourcesDirectory)/NuGet.config $Token
|
||||
env:
|
||||
Token: $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
- ${{ if eq(parameters.buildScript, '') }}:
|
||||
- ${{ if eq(parameters.agentOs, 'Windows') }}:
|
||||
- script: .\$(BuildDirectory)\build.cmd -ci /p:DotNetSignType=$(_SignType) -Configuration $(BuildConfiguration) $(BuildScriptArgs)
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ jobs:
|
|||
timeoutInMinutes: 240
|
||||
steps:
|
||||
# Build the shared framework
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 -buildNative /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
|
||||
- script: ./build.cmd -ci -all -pack -arch x64 /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log /bl:artifacts/log/helix.build.x64.binlog
|
||||
displayName: Build shared fx
|
||||
- script: .\restore.cmd -ci /p:BuildInteropProjects=true
|
||||
displayName: Restore
|
||||
- script: .\build.cmd -ci -NoRestore -test -noBuildJava -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildAllProjects=true /p:BuildInteropProjects=true /p:BuildNative=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Restore interop projects
|
||||
- script: .\build.cmd -ci -NoRestore -test -noBuildJava -all -projects eng\helix\helix.proj /p:RunQuarantinedTests=true /p:IsRequiredCheck=true /p:IsHelixJob=true /p:BuildInteropProjects=true /p:RunTemplateTests=true /p:ASPNETCORE_TEST_LOG_DIR=artifacts/log -bl
|
||||
displayName: Run build.cmd helix target
|
||||
env:
|
||||
HelixApiAccessToken: $(HelixApiAccessToken) # Needed for internal queues
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@
|
|||
/eng/Versions.props @dotnet-maestro-bot @dougbu
|
||||
/eng/Version.Details.xml @dotnet-maestro-bot @dougbu
|
||||
/src/Components/ @SteveSandersonMS
|
||||
/src/DefaultBuilder/ @tratcher @anurse
|
||||
/src/Hosting/ @tratcher @anurse
|
||||
/src/Http/ @tratcher @jkotalik @anurse
|
||||
/src/Middleware/ @tratcher @anurse
|
||||
/src/Middleware/HttpsPolicy/ @jkotalik @anurse
|
||||
/src/Middleware/Rewrite/ @jkotalik @anurse
|
||||
/src/DefaultBuilder/ @tratcher
|
||||
/src/Hosting/ @tratcher
|
||||
/src/Http/ @tratcher @jkotalik
|
||||
/src/Middleware/ @tratcher
|
||||
/src/Middleware/HttpsPolicy/ @jkotalik
|
||||
/src/Middleware/Rewrite/ @jkotalik
|
||||
# /src/ProjectTemplates/ @ryanbrandenburg
|
||||
/src/Security/ @tratcher @anurse
|
||||
/src/Servers/ @tratcher @jkotalik @anurse @halter73
|
||||
/src/Security/ @tratcher
|
||||
/src/Servers/ @tratcher @jkotalik @halter73
|
||||
/src/Shared/runtime/ @dotnet/http
|
||||
/src/Shared/test/Shared.Tests/runtime/ @dotnet/http
|
||||
/src/SignalR/ @BrennanConroy @halter73 @anurse
|
||||
/src/SignalR/ @BrennanConroy @halter73
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<Project>
|
||||
<Import Project="eng\Common.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
|
||||
<RepositoryUrl>https://github.com/dotnet/aspnetcore</RepositoryUrl>
|
||||
|
|
@ -121,12 +123,7 @@
|
|||
|
||||
<!-- Compilation options which apply to all languages. Language-specific options should be set in eng/targets/$(lang).Common.props -->
|
||||
<PropertyGroup>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win</TargetOsName>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx</TargetOsName>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux</TargetOsName>
|
||||
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
|
||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
|
||||
<TargetRuntimeIdentifier>$(TargetOsName)-$(TargetArchitecture)</TargetRuntimeIdentifier>
|
||||
|
||||
<!-- This defines the list of RIDs supported by the ASP.NET Core shared framework. -->
|
||||
<SupportedRuntimeIdentifiers>
|
||||
|
|
@ -179,7 +176,7 @@
|
|||
<!-- Projects which reference Microsoft.AspNetCore.Mvc.Testing should import this targets file to ensure dependency .deps.json files are copied into test output. -->
|
||||
<MvcTestingTargets>$(MSBuildThisFileDirectory)src\Mvc\Mvc.Testing\src\Microsoft.AspNetCore.Mvc.Testing.targets</MvcTestingTargets>
|
||||
<!-- IIS native projects can only be built on Windows for x86 and x64. -->
|
||||
<BuildIisNativeProjects Condition="'$(BuildNative)' == 'true' AND '$(TargetOsName)' == 'win' AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64')">true</BuildIisNativeProjects>
|
||||
<BuildIisNativeProjects Condition=" $(BuildNative) AND ('$(TargetArchitecture)' == 'x86' OR '$(TargetArchitecture)' == 'x64') ">true</BuildIisNativeProjects>
|
||||
<!-- This property is shared by several projects to layout the AspNetCore.App targeting pack for installers -->
|
||||
<TargetingPackLayoutRoot>$(ArtifactsObjDir)TargetingPack.Layout\$(Configuration)\</TargetingPackLayoutRoot>
|
||||
<!-- This property is shared by several projects to layout the AspNetCore.App shared framework for installers -->
|
||||
|
|
|
|||
|
|
@ -11,5 +11,7 @@
|
|||
<add key="aspnetcore-dev" value="https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json" />
|
||||
<add key="aspnetcore-tools" value="https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json" />
|
||||
<add key="roslyn-tools" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
|
||||
<!-- Used for the SiteExtension 3.1 bits that are included in the 5.0 build -->
|
||||
<add key="dotnet31-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
|
|
|
|||
|
|
@ -185,7 +185,8 @@ if ($DumpProcesses -or $CI) {
|
|||
if ($All) {
|
||||
$MSBuildArguments += '/p:BuildAllProjects=true'
|
||||
}
|
||||
elseif ($Projects) {
|
||||
|
||||
if ($Projects) {
|
||||
if (![System.IO.Path]::IsPathRooted($Projects))
|
||||
{
|
||||
$Projects = Join-Path (Get-Location) $Projects
|
||||
|
|
@ -193,7 +194,7 @@ elseif ($Projects) {
|
|||
$MSBuildArguments += "/p:ProjectToBuild=$Projects"
|
||||
}
|
||||
# When adding new sub-group build flags, add them to this check.
|
||||
elseif((-not $BuildNative) -and (-not $BuildManaged) -and (-not $BuildNodeJS) -and (-not $BuildInstallers) -and (-not $BuildJava)) {
|
||||
elseif (-not ($All -or $BuildNative -or $BuildManaged -or $BuildNodeJS -or $BuildInstallers -or $BuildJava)) {
|
||||
Write-Warning "No default group of projects was specified, so building the 'managed' and its dependent subsets of projects. Run ``build.cmd -help`` for more details."
|
||||
|
||||
# This goal of this is to pick a sensible default for `build.cmd` with zero arguments.
|
||||
|
|
@ -203,7 +204,7 @@ elseif((-not $BuildNative) -and (-not $BuildManaged) -and (-not $BuildNodeJS) -a
|
|||
}
|
||||
|
||||
if ($BuildManaged -or ($All -and (-not $NoBuildManaged))) {
|
||||
if ((-not $BuildNodeJS) -and (-not $NoBuildNodeJS)) {
|
||||
if (-not ($BuildNodeJS -or $NoBuildNodeJS)) {
|
||||
$node = Get-Command node -ErrorAction Ignore -CommandType Application
|
||||
|
||||
if ($node) {
|
||||
|
|
|
|||
12
build.sh
12
build.sh
|
|
@ -65,7 +65,7 @@ Options:
|
|||
--no-build-repo-tasks Suppress building RepoTasks.
|
||||
|
||||
--all Build all project types.
|
||||
--[no-]build-native Build native projects (C, C++).
|
||||
--[no-]build-native Build native projects (C, C++). Ignored in most cases i.e. with `dotnet msbuild`.
|
||||
--[no-]build-managed Build managed projects (C#, F#, VB).
|
||||
--[no-]build-nodejs Build NodeJS projects (TypeScript, JS).
|
||||
--[no-]build-java Build Java projects.
|
||||
|
|
@ -74,7 +74,7 @@ Options:
|
|||
--ci Apply CI specific settings and environment variables.
|
||||
--binarylog|-bl Use a binary logger
|
||||
--verbosity|-v MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]
|
||||
|
||||
|
||||
--dotnet-runtime-source-feed Additional feed that can be used when downloading .NET runtimes
|
||||
--dotnet-runtime-source-feed-key Key for feed that can be used when downloading .NET runtimes
|
||||
|
||||
|
|
@ -223,9 +223,11 @@ done
|
|||
|
||||
if [ "$build_all" = true ]; then
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:BuildAllProjects=true"
|
||||
elif [ ! -z "$build_projects" ]; then
|
||||
fi
|
||||
|
||||
if [ ! -z "$build_projects" ]; then
|
||||
msbuild_args[${#msbuild_args[*]}]="-p:ProjectToBuild=$build_projects"
|
||||
elif [ -z "$build_managed" ] && [ -z "$build_nodejs" ] && [ -z "$build_java" ] && [ -z "$build_native" ] && [ -z "$build_installers" ]; then
|
||||
elif [ "$build_all" != true ] && [ -z "$build_managed$build_nodejs$build_java$build_native$build_installers" ]; then
|
||||
# This goal of this is to pick a sensible default for `build.sh` with zero arguments.
|
||||
# We believe the most common thing our contributors will work on is C#, so if no other build group was picked, build the C# projects.
|
||||
__warn "No default group of projects was specified, so building the 'managed' and its dependent subset of projects. Run ``build.sh --help`` for more details."
|
||||
|
|
@ -287,7 +289,7 @@ msbuild_args[${#msbuild_args[*]}]="-verbosity:$verbosity"
|
|||
|
||||
# Set up additional runtime args
|
||||
toolset_build_args=()
|
||||
if [ ! -z "$dotnet_runtime_source_feed" ] || [ ! -z "$dotnet_runtime_source_feed_key" ]; then
|
||||
if [ ! -z "$dotnet_runtime_source_feed$dotnet_runtime_source_feed_key" ]; then
|
||||
runtimeFeedArg="/p:DotNetRuntimeSourceFeed=$dotnet_runtime_source_feed"
|
||||
runtimeFeedKeyArg="/p:DotNetRuntimeSourceFeedKey=$dotnet_runtime_source_feed_key"
|
||||
msbuild_args[${#msbuild_args[*]}]=$runtimeFeedArg
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ Building ASP.NET Core on macOS or Linux requires:
|
|||
* If using macOS, you need macOS Sierra or newer.
|
||||
* If using Linux, you need a machine with all .NET Core Linux prerequisites: <https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites>
|
||||
* At least 10 GB of disk space and a good internet connection (our build scripts download a lot of tools and dependencies)
|
||||
* curl <https://curl.haxx.se> or Wget <https://www.gnu.org/software/wget>
|
||||
* Git <https://git-scm.org>
|
||||
* NodeJS. LTS version of 10.14.2 or newer <https://nodejs.org>
|
||||
* Java Development Kit 11 or newer. Either:
|
||||
|
|
@ -160,7 +161,7 @@ On macOS/Linux:
|
|||
./build.sh
|
||||
```
|
||||
|
||||
By default, all of the C# projects are built. Some C# projects require NodeJS to be installed to compile JavaScript assets which are then checked in as source. If NodeJS is detected on the path, the NodeJS projects will be compiled as part of building C# projects. If NodeJS is not detected on the path, the JavaScript assets checked in previously will be used instead. To disable building NodeJS projects, specify /p:BuildNodeJs=false on the command line.
|
||||
By default, all of the C# projects are built. Some C# projects require NodeJS to be installed to compile JavaScript assets which are then checked in as source. If NodeJS is detected on the path, the NodeJS projects will be compiled as part of building C# projects. If NodeJS is not detected on the path, the JavaScript assets checked in previously will be used instead. To disable building NodeJS projects, specify `-noBuildNodeJS` or `--no-build-nodejs` on the command line.
|
||||
|
||||
### Using `dotnet` on command line in this repo
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
# AspNetCore Tooling Consolidation
|
||||
|
||||
## Objectives
|
||||
|
||||
We want to consolidate dotnet/aspnetcore-tooling into dotnet/aspnetcore to achieve 3 goals
|
||||
1. Reduce overall build time end to end for the .NET Core SDK
|
||||
2. Reduce the complexity of maintaining multiple repositories.
|
||||
3. Maintain, or if possible, improve, developer productivity
|
||||
|
||||
We are prioritizing the first objective since it is part of a cross-team efforct to reduce the SDK build time. To ensure we are able to achieve this goal quickly and with minimal risk, we plan to take a multi-phase approach. The first phase will involve moving the language components from aspnetcore-tooling to aspnetcore which is required for the SDK build. The second phase will involve a more gradual migration for the remaining tooling components with an emphasis on maintaining developer productivity.
|
||||
|
||||
## Phase one: Migration of language components
|
||||
|
||||
In this phase, we are primarily concerned with the overall goals of repo consolidation to reduce the number of repository required to build the SDK while keeping the build in aspnetcore as simple as possible without needing to support build/test for tooling scenarios such as testing on VSCode. As such, we will not require all of aspnetcore-tooling to be merged into aspnetcore. For example, tooling for VSMac and VSCode will remain in aspnetcore-tooling. There is also an added benefit of maintaining the current development and release workflow for aspnetcore-tooling which is more "agile" than aspnetcore (e.g. faster PR builds, release cycles that synchronize with VS releases).
|
||||
|
||||
To achieve this we will be migrating the following (and associated tests) from aspnetcore-tooling to aspnetcore:
|
||||
```
|
||||
Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X
|
||||
Microsoft.AspNetCore.Mvc.Razor.Extensions.Version2_X
|
||||
Microsoft.AspNetCore.Mvc.Razor.Extensions
|
||||
Microsoft.AspNetCore.Razor.Language
|
||||
Microsoft.AspNetCore.Razor.Tools
|
||||
Microsoft.CodeAnalysis.Razor
|
||||
Microsoft.NET.Sdk.Razor
|
||||
````
|
||||
The following (and associated tests) will remain in aspnetcore-tooling:
|
||||
```
|
||||
Microsoft.AspNetCore.Razor.LanguageServer.Common
|
||||
Microsoft.AspNetCore.Razor.LanguageServer
|
||||
Microsoft.AspNetCore.Razor.OmniSharpPlugin.StrongNamed
|
||||
Microsoft.AspNetCore.Razor.OmniSharpPlugin
|
||||
Microsoft.AspNetCore.Razor.VSCode.Extension
|
||||
Microsoft.AspNetCore.Razor.VSCode
|
||||
Microsoft.CodeAnalysis.Razor.Workspaces
|
||||
Microsoft.CodeAnalysis.Remote.Razor
|
||||
Microsoft.VisualStudio.Editor.Razor
|
||||
Microsoft.VisualStudio.LanguageServerClient.Razor
|
||||
Microsoft.VisualStudio.LanguageServices.Razor
|
||||
Microsoft.VisualStudio.LiveShare.Razor
|
||||
Microsoft.VisualStudio.Mac.LanguageServices.Razor
|
||||
Microsoft.VisualStudio.Mac.RazorAddin
|
||||
Microsoft.VisualStudio.RazorExtension
|
||||
RazorDeveloperTools
|
||||
rzls
|
||||
````
|
||||
THe following will be deleted:
|
||||
```
|
||||
RazorPageGenerator
|
||||
```
|
||||
|
||||
Due to the separation of tooling projects, the new dependency flow will be:
|
||||
|
||||
```
|
||||
runtime +--> aspnetcore +--> SDK
|
||||
\ \
|
||||
+-> extensions -+-> aspnetcore-tooling
|
||||
```
|
||||
### Known action items
|
||||
|
||||
1. Migrate source with `git filter-branch`, preserving commit history
|
||||
2. Migration of pending PRs to aspnetcore after source migration.
|
||||
1. Alternatively, we can freeze checkins during source migration especially since there isn't much source code that requires migration
|
||||
3. It seems like we do not need a pre-build step to build the Razor SDK for consumption elsewhere in the repo. It is possible to add a project dependency along with appropriate props/target imports
|
||||
4. Invert darc subscriptions so aspnetcore flows into aspnetcore-tooling
|
||||
|
||||
## Phase two: Migration of tooling components
|
||||
|
||||
After phase one is completed, we will migrate the tooling components remaining in aspnetcore-tooling piecemeal at a time as required. Our current understanding is that we will eventually be moving all of aspnetcore-tooling into aspnetcore but this can be scoped as appropriate given time/resource constraints. The overall goal here is to reduce build complexity in our repos and maintain developer productivity. As such, more discussion will be made with area owners to identify workflow impacts.
|
||||
|
||||
## Major considerations
|
||||
|
||||
### Pinning Roslyn dependencies
|
||||
|
||||
Due to runtime and tooling divergence of Roslyn packages, we may need to pin multiple versions of Roslyn dependencies for the migrated packages.
|
||||
|
||||
### Assets
|
||||
|
||||
The migrated projects are C# only in phase one so we will use existing infrastructure in aspnetcore to handle signing and publishing of these packages. Phase two will involve additional asset types including vsix, zips, npm packages and mpacks. We have asset publishing mechanisms for most of these asset types but may need to add addtional asset publishing mechanisms and/or release management for some assets (mpacks for example). We will evaluate the additional requirements when phase two is discussed.
|
||||
|
||||
### Developer efficiency (PR builds)
|
||||
|
||||
A concern that has been voiced is that working in aspnetcore would be significantly slower than in aspnetcore-tooling given that the PR validation in aspnetcore takes longer. For comparison, it takes about 30 mins to run builds and tests in aspnetcore-tooling whereas builds and tests in aspnetcore takes about 1.5 - 2 hours. We are making efforts in improving this experience but it will be out of scope of aspnetcore-tooling consolidation.
|
||||
|
||||
Note that this will only apply to the migrated language projects in phase one. In phase two, we will explore several approaches to improve this area. We are considering adopting additiona logic (from dotnet/runtime) that will allow us to run only portions of tests based on what source changes were detected. However, we will always build the entire repository regardless of what source changes were made.
|
||||
|
||||
### Testing
|
||||
|
||||
In phase one, the migrated projects are C# only so there are no test infrasture changes needed in aspnetcore. The existing vscode jest, and node tests will remain in aspnetcore-tooling during phase one and will be migrated in phase two.
|
||||
|
||||
### Reliability
|
||||
|
||||
There is concern that there is test reliability issues in both repos and combining them would aggravate the problem in aspnetcore. This has been deemed a non-issue in phase one since the test to be migrated are found to be very reliable. For phase two, we will ensure tests are reliable before we migrate each tooling component over to aspnetcore.
|
||||
|
||||
### Release cycles
|
||||
|
||||
Tooling release cycles is a cross product of .NET Core (2.1, 3.1, 5.0) and VS (vs-mac, vscode, vs) release cycles. In phase one, the packages we are migrating are only released on .NET Core cycles so it should not add any complexity to servicing in aspnetcore. We will follow the existing branching and servicing strategies. In phase two, we will evaluate branching and release policies for tooling components.
|
||||
|
||||
### Cross-repo changes
|
||||
|
||||
Given that some of the work in tooling scenarios may involve projects in both aspnetcore and aspnetcore-tooling, there is added complexity here to coordinate cross-repo changes. However, this concern is already present due to the dependency of aspnetcore on aspnetcore-tooling. This problem is not new but will affect different projects after the migration; some current cross-repo changes will be easier while some changes between language and tooling packages will be more burdensome.
|
||||
|
||||
## Timeline and costs
|
||||
|
||||
Phase one can begin as soon as possible and will likely take about 1 week. Phase two's schedule and costs are TBD.
|
||||
|
|
@ -1,14 +1,5 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetRuntimeIdentifier Condition="'$(TargetRuntimeIdentifier)' == ''">$(TargetOsName)-$(TargetArchitecture)</TargetRuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(BuildAllProjects)' == 'true' ">
|
||||
<BuildNative Condition="'$(BuildNative)' == ''">true</BuildNative>
|
||||
<BuildManaged Condition="'$(BuildManaged)' == ''">true</BuildManaged>
|
||||
<BuildNodeJS Condition="'$(BuildNodeJS)' == ''">true</BuildNodeJS>
|
||||
<BuildJava Condition="'$(BuildJava)' == ''">true</BuildJava>
|
||||
</PropertyGroup>
|
||||
<Import Project="Common.props" />
|
||||
|
||||
<!-- These projects are always excluded, even when -projects is specified on command line. -->
|
||||
<ItemGroup>
|
||||
|
|
@ -102,8 +93,8 @@
|
|||
<AdditionalProperties Condition="'$(TargetArchitecture)' == 'x86'">Platform=Win32</AdditionalProperties>
|
||||
</NativeProjects>
|
||||
|
||||
<ProjectToBuild Condition=" '$(BuildNative)' == 'true'" Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" />
|
||||
<ProjectToExclude Condition=" '$(BuildNative)' != 'true'" Include="@(NativeProjects)" />
|
||||
<ProjectToBuild Condition=" $(BuildNative) " Include="@(NativeProjects)" Exclude="@(ProjectToExclude)" />
|
||||
<ProjectToExclude Condition=" !$(BuildNative) " Include="@(NativeProjects)" />
|
||||
|
||||
<NodeJsProjects Include="
|
||||
$(RepoRoot)src\Components\Web.JS\Microsoft.AspNetCore.Components.Web.JS.npmproj;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Windows'))">win</TargetOsName>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('OSX'))">osx</TargetOsName>
|
||||
<TargetOsName Condition=" '$(TargetOsName)' == '' AND $([MSBuild]::IsOSPlatform('Linux'))">linux</TargetOsName>
|
||||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
|
||||
<TargetRuntimeIdentifier Condition="'$(TargetRuntimeIdentifier)' == ''">$(TargetOsName)-$(TargetArchitecture)</TargetRuntimeIdentifier>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(BuildAllProjects)' == 'true' ">
|
||||
<!-- Ignore $(BuildNative) when using MSBuild Core, on non-Windows platforms, or when C++ bits are missing. -->
|
||||
<BuildNative Condition=" '$(MSBuildRuntimeType)' == 'Core' ">false</BuildNative>
|
||||
<BuildNative Condition=" '$(TargetOsName)' != 'win' ">false</BuildNative>
|
||||
<BuildNative Condition=" '$(VCTargetsPath)' == '' ">false</BuildNative>
|
||||
<BuildNative Condition=" '$(BuildNative)' == '' ">true</BuildNative>
|
||||
|
||||
<BuildManaged Condition="'$(BuildManaged)' == ''">true</BuildManaged>
|
||||
<BuildNodeJS Condition="'$(BuildNodeJS)' == ''">true</BuildNodeJS>
|
||||
<BuildJava Condition="'$(BuildJava)' == ''">true</BuildJava>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildNative Condition=" '$(BuildNative)' == '' ">false</BuildNative>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -182,7 +182,6 @@ and are generated based on the last package release.
|
|||
<LatestPackageReference Include="xunit.assert" Version="$(XunitAssertPackageVersion)" />
|
||||
<LatestPackageReference Include="xunit.extensibility.core" Version="$(XunitExtensibilityCorePackageVersion)" />
|
||||
<LatestPackageReference Include="xunit.extensibility.execution" Version="$(XunitExtensibilityExecutionPackageVersion)" />
|
||||
<LatestPackageReference Include="xunit.extensibility.execution" Version="$(XunitExtensibilityExecutionPackageVersion)" />
|
||||
<LatestPackageReference Include="Microsoft.Data.SqlClient" Version="$(MicrosoftDataSqlClientPackageVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<Project>
|
||||
|
||||
<!-- See https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Signing.md for details. -->
|
||||
<Import Project="Common.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Reset Arcade's defaults. -->
|
||||
|
|
@ -69,7 +69,6 @@
|
|||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetRuntimeIdentifier Condition="'$(TargetRuntimeIdentifier)' == ''">$(TargetOsName)-$(TargetArchitecture)</TargetRuntimeIdentifier>
|
||||
<BaseRedistNetCorePath>$(ArtifactsObjDir)RedistSharedFx.Layout\$(Configuration)\</BaseRedistNetCorePath>
|
||||
<RedistNetCorePath>$(BaseRedistNetCorePath)$(TargetRuntimeIdentifier)\</RedistNetCorePath>
|
||||
</PropertyGroup>
|
||||
|
|
|
|||
|
|
@ -13,308 +13,308 @@
|
|||
<Uri>https://github.com/dotnet/blazor</Uri>
|
||||
<Sha>dd7fb4d3931d556458f62642c2edfc59f6295bfb</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="5.0.0-preview.4.20251.2">
|
||||
<Dependency Name="Microsoft.AspNetCore.Razor.Language" Version="5.0.0-preview.5.20258.1">
|
||||
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
|
||||
<Sha>56c0dbb97a3c542fa9865aad33fe442341786a09</Sha>
|
||||
<Sha>84b5b3c547722b81e4c0f480edfca4de3da1a8e5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="5.0.0-preview.4.20251.2">
|
||||
<Dependency Name="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="5.0.0-preview.5.20258.1">
|
||||
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
|
||||
<Sha>56c0dbb97a3c542fa9865aad33fe442341786a09</Sha>
|
||||
<Sha>84b5b3c547722b81e4c0f480edfca4de3da1a8e5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="5.0.0-preview.4.20251.2">
|
||||
<Dependency Name="Microsoft.CodeAnalysis.Razor" Version="5.0.0-preview.5.20258.1">
|
||||
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
|
||||
<Sha>56c0dbb97a3c542fa9865aad33fe442341786a09</Sha>
|
||||
<Sha>84b5b3c547722b81e4c0f480edfca4de3da1a8e5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NET.Sdk.Razor" Version="5.0.0-preview.4.20251.2">
|
||||
<Dependency Name="Microsoft.NET.Sdk.Razor" Version="5.0.0-preview.5.20258.1">
|
||||
<Uri>https://github.com/dotnet/aspnetcore-tooling</Uri>
|
||||
<Sha>56c0dbb97a3c542fa9865aad33fe442341786a09</Sha>
|
||||
<Sha>84b5b3c547722b81e4c0f480edfca4de3da1a8e5</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="dotnet-ef" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="dotnet-ef" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.4.20220.10">
|
||||
<Dependency Name="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.5.20227.5">
|
||||
<Uri>https://github.com/dotnet/efcore</Uri>
|
||||
<Sha>df113b75096223f66dc96a52ca71eaef2556a987</Sha>
|
||||
<Sha>818c93aa44ab51397551e128e5f574ea25214b59</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Caching.Memory" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Json" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Configuration" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyInjection" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Hosting" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Http" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Console" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.Debug" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Logging" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Options" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Primitives" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.Internal.Transport" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Win32.Registry" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Win32.SystemEvents" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.ComponentModel.Annotations" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Diagnostics.EventLog" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Drawing.Common" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Drawing.Common" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.IO.Pipelines" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.IO.Pipelines" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Net.Http.WinHttpHandler" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Net.WebSockets.WebSocketProtocol" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Reflection.Metadata" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Reflection.Metadata" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Runtime.CompilerServices.Unsafe" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Security.Cryptography.Cng" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Security.Cryptography.Pkcs" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Security.Cryptography.Xml" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Permissions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Security.Permissions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Security.Principal.Windows" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Security.Principal.Windows" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.ServiceProcess.ServiceController" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Text.Encodings.Web" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Text.Encodings.Web" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Text.Json" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Text.Json" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Threading.Channels" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Threading.Channels" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="System.Windows.Extensions" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="System.Windows.Extensions" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Extensions.DependencyModel" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.NETCore.App.Ref" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<!--
|
||||
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
|
||||
All Runtime.$rid packages should have the same version.
|
||||
-->
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.NETCore.App.Internal" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
</ProductDependencies>
|
||||
<ToolsetDependencies>
|
||||
<!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-preview.4.20251.6" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.NETCore.Platforms" Version="5.0.0-preview.5.20253.7" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/runtime</Uri>
|
||||
<Sha>47ec733ba79b196e4e09d0c89bad245155002353</Sha>
|
||||
<Sha>8527a991b91cabc9bec6f6abe57a52b5bb5e154d</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20201.2">
|
||||
<Dependency Name="Microsoft.DotNet.GenAPI" Version="5.0.0-beta.20228.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>bce0a98620c1c5a110b2bba9912f3d5929069c6b</Sha>
|
||||
<Sha>590a102630c7efc7ca6f652f7c6c47dee4c4086c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20201.2">
|
||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="5.0.0-beta.20228.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>bce0a98620c1c5a110b2bba9912f3d5929069c6b</Sha>
|
||||
<Sha>590a102630c7efc7ca6f652f7c6c47dee4c4086c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20201.2">
|
||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="5.0.0-beta.20228.4">
|
||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||
<Sha>bce0a98620c1c5a110b2bba9912f3d5929069c6b</Sha>
|
||||
<Sha>590a102630c7efc7ca6f652f7c6c47dee4c4086c</Sha>
|
||||
</Dependency>
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-1.20220.1" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.7.0-1.20254.1" CoherentParentDependency="Microsoft.AspNetCore.Razor.Language">
|
||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||
<Sha>8eb05a084b01d1ebe3b2f4c9c84d21cd08635b09</Sha>
|
||||
<Sha>87e2b1e95e030928b33d6a54341ea342efbbdafa</Sha>
|
||||
</Dependency>
|
||||
</ToolsetDependencies>
|
||||
</Dependencies>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<AspNetCoreMajorVersion>5</AspNetCoreMajorVersion>
|
||||
<AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
|
||||
<AspNetCorePatchVersion>0</AspNetCorePatchVersion>
|
||||
<PreReleaseVersionIteration>4</PreReleaseVersionIteration>
|
||||
<PreReleaseVersionIteration>5</PreReleaseVersionIteration>
|
||||
<!--
|
||||
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
|
||||
-->
|
||||
|
|
@ -62,85 +62,85 @@
|
|||
-->
|
||||
<PropertyGroup Label="Automated">
|
||||
<!-- Packages from dotnet/arcade -->
|
||||
<MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20201.2</MicrosoftDotNetGenAPIPackageVersion>
|
||||
<MicrosoftDotNetGenAPIPackageVersion>5.0.0-beta.20228.4</MicrosoftDotNetGenAPIPackageVersion>
|
||||
<!-- Packages from dotnet/roslyn -->
|
||||
<MicrosoftNetCompilersToolsetPackageVersion>3.7.0-1.20220.1</MicrosoftNetCompilersToolsetPackageVersion>
|
||||
<MicrosoftNetCompilersToolsetPackageVersion>3.7.0-1.20254.1</MicrosoftNetCompilersToolsetPackageVersion>
|
||||
<!-- Packages from dotnet/runtime -->
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.4.20251.6</MicrosoftNETCoreAppInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.4.20251.6</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.4.20251.6</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>5.0.0-preview.4.20251.6</MicrosoftWin32RegistryPackageVersion>
|
||||
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftWin32SystemEventsPackageVersion>
|
||||
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsCachingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsCachingMemoryPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationBinderPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
|
||||
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationIniPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationJsonPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsConfigurationXmlPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsFileProvidersCompositePackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
|
||||
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsHostingPackageVersion>
|
||||
<MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsHttpPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingEventSourcePackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingEventLogPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
|
||||
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsOptionsPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.4.20251.6</MicrosoftExtensionsInternalTransportPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.4.20251.6</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.4.20251.6</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemDrawingCommonPackageVersion>5.0.0-preview.4.20251.6</SystemDrawingCommonPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>5.0.0-preview.4.20251.6</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.4.20251.6</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.4.20251.6</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>5.0.0-preview.4.20251.6</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.4.20251.6</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.4.20251.6</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.4.20251.6</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.4.20251.6</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>5.0.0-preview.4.20251.6</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.4.20251.6</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.4.20251.6</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>5.0.0-preview.4.20251.6</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemTextJsonPackageVersion>5.0.0-preview.4.20251.6</SystemTextJsonPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>5.0.0-preview.4.20251.6</SystemThreadingChannelsPackageVersion>
|
||||
<SystemWindowsExtensionsPackageVersion>5.0.0-preview.4.20251.6</SystemWindowsExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyModelPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsDependencyModelPackageVersion>
|
||||
<MicrosoftNETCoreAppInternalPackageVersion>5.0.0-preview.5.20253.7</MicrosoftNETCoreAppInternalPackageVersion>
|
||||
<MicrosoftNETCoreAppRefPackageVersion>5.0.0-preview.5.20253.7</MicrosoftNETCoreAppRefPackageVersion>
|
||||
<MicrosoftNETCoreAppRuntimewinx64PackageVersion>5.0.0-preview.5.20253.7</MicrosoftNETCoreAppRuntimewinx64PackageVersion>
|
||||
<MicrosoftWin32RegistryPackageVersion>5.0.0-preview.5.20253.7</MicrosoftWin32RegistryPackageVersion>
|
||||
<MicrosoftWin32SystemEventsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftWin32SystemEventsPackageVersion>
|
||||
<MicrosoftExtensionsCachingAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsCachingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsCachingMemoryPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsCachingMemoryPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationBinderPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationBinderPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationCommandLinePackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
|
||||
<MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationIniPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationIniPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationJsonPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationJsonPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationUserSecretsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
|
||||
<MicrosoftExtensionsConfigurationXmlPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsConfigurationXmlPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsDependencyInjectionPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsDependencyInjectionPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersCompositePackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsFileProvidersCompositePackageVersion>
|
||||
<MicrosoftExtensionsFileProvidersPhysicalPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
|
||||
<MicrosoftExtensionsFileSystemGlobbingPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
|
||||
<MicrosoftExtensionsHostingAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsHostingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsHostingPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsHostingPackageVersion>
|
||||
<MicrosoftExtensionsHttpPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsHttpPackageVersion>
|
||||
<MicrosoftExtensionsLoggingAbstractionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConfigurationPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingConfigurationPackageVersion>
|
||||
<MicrosoftExtensionsLoggingConsolePackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingConsolePackageVersion>
|
||||
<MicrosoftExtensionsLoggingDebugPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingDebugPackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventSourcePackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingEventSourcePackageVersion>
|
||||
<MicrosoftExtensionsLoggingEventLogPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingEventLogPackageVersion>
|
||||
<MicrosoftExtensionsLoggingPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingPackageVersion>
|
||||
<MicrosoftExtensionsLoggingTraceSourcePackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
|
||||
<MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsOptionsDataAnnotationsPackageVersion>
|
||||
<MicrosoftExtensionsOptionsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsOptionsPackageVersion>
|
||||
<MicrosoftExtensionsPrimitivesPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsPrimitivesPackageVersion>
|
||||
<MicrosoftExtensionsInternalTransportPackageVersion>5.0.0-preview.5.20253.7</MicrosoftExtensionsInternalTransportPackageVersion>
|
||||
<SystemComponentModelAnnotationsPackageVersion>5.0.0-preview.5.20253.7</SystemComponentModelAnnotationsPackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>5.0.0-preview.5.20253.7</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemDrawingCommonPackageVersion>5.0.0-preview.5.20253.7</SystemDrawingCommonPackageVersion>
|
||||
<SystemIOPipelinesPackageVersion>5.0.0-preview.5.20253.7</SystemIOPipelinesPackageVersion>
|
||||
<SystemNetHttpWinHttpHandlerPackageVersion>5.0.0-preview.5.20253.7</SystemNetHttpWinHttpHandlerPackageVersion>
|
||||
<SystemNetWebSocketsWebSocketProtocolPackageVersion>5.0.0-preview.5.20253.7</SystemNetWebSocketsWebSocketProtocolPackageVersion>
|
||||
<SystemReflectionMetadataPackageVersion>5.0.0-preview.5.20253.7</SystemReflectionMetadataPackageVersion>
|
||||
<SystemRuntimeCompilerServicesUnsafePackageVersion>5.0.0-preview.5.20253.7</SystemRuntimeCompilerServicesUnsafePackageVersion>
|
||||
<SystemSecurityCryptographyCngPackageVersion>5.0.0-preview.5.20253.7</SystemSecurityCryptographyCngPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>5.0.0-preview.5.20253.7</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>5.0.0-preview.5.20253.7</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>5.0.0-preview.5.20253.7</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemSecurityPrincipalWindowsPackageVersion>5.0.0-preview.5.20253.7</SystemSecurityPrincipalWindowsPackageVersion>
|
||||
<SystemServiceProcessServiceControllerPackageVersion>5.0.0-preview.5.20253.7</SystemServiceProcessServiceControllerPackageVersion>
|
||||
<SystemTextEncodingsWebPackageVersion>5.0.0-preview.5.20253.7</SystemTextEncodingsWebPackageVersion>
|
||||
<SystemTextJsonPackageVersion>5.0.0-preview.5.20253.7</SystemTextJsonPackageVersion>
|
||||
<SystemThreadingChannelsPackageVersion>5.0.0-preview.5.20253.7</SystemThreadingChannelsPackageVersion>
|
||||
<SystemWindowsExtensionsPackageVersion>5.0.0-preview.5.20253.7</SystemWindowsExtensionsPackageVersion>
|
||||
<!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 -->
|
||||
<MicrosoftNETCorePlatformsPackageVersion>5.0.0-preview.4.20251.6</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<MicrosoftNETCorePlatformsPackageVersion>5.0.0-preview.5.20253.7</MicrosoftNETCorePlatformsPackageVersion>
|
||||
<!-- Packages from dotnet/blazor -->
|
||||
<MicrosoftAspNetCoreBlazorMonoPackageVersion>3.2.0-preview1.20067.1</MicrosoftAspNetCoreBlazorMonoPackageVersion>
|
||||
<!-- Packages from dotnet/efcore -->
|
||||
<dotnetefPackageVersion>5.0.0-preview.4.20220.10</dotnetefPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
||||
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.4.20220.10</MicrosoftEntityFrameworkCorePackageVersion>
|
||||
<dotnetefPackageVersion>5.0.0-preview.5.20227.5</dotnetefPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreInMemoryPackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCoreInMemoryPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreRelationalPackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCoreRelationalPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlitePackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCoreSqlitePackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreSqlServerPackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCoreSqlServerPackageVersion>
|
||||
<MicrosoftEntityFrameworkCoreToolsPackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCoreToolsPackageVersion>
|
||||
<MicrosoftEntityFrameworkCorePackageVersion>5.0.0-preview.5.20227.5</MicrosoftEntityFrameworkCorePackageVersion>
|
||||
<!-- Packages from dotnet/aspnetcore-tooling -->
|
||||
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>5.0.0-preview.4.20251.2</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
|
||||
<MicrosoftAspNetCoreRazorLanguagePackageVersion>5.0.0-preview.4.20251.2</MicrosoftAspNetCoreRazorLanguagePackageVersion>
|
||||
<MicrosoftCodeAnalysisRazorPackageVersion>5.0.0-preview.4.20251.2</MicrosoftCodeAnalysisRazorPackageVersion>
|
||||
<MicrosoftNETSdkRazorPackageVersion>5.0.0-preview.4.20251.2</MicrosoftNETSdkRazorPackageVersion>
|
||||
<MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>5.0.0-preview.5.20258.1</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
|
||||
<MicrosoftAspNetCoreRazorLanguagePackageVersion>5.0.0-preview.5.20258.1</MicrosoftAspNetCoreRazorLanguagePackageVersion>
|
||||
<MicrosoftCodeAnalysisRazorPackageVersion>5.0.0-preview.5.20258.1</MicrosoftCodeAnalysisRazorPackageVersion>
|
||||
<MicrosoftNETSdkRazorPackageVersion>5.0.0-preview.5.20258.1</MicrosoftNETSdkRazorPackageVersion>
|
||||
</PropertyGroup>
|
||||
<!--
|
||||
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
<!-- Packages from 2.1/2.2 branches used for site extension build -->
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>2.1.1</MicrosoftAspNetCoreAzureAppServicesSiteExtension21PackageVersion>
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>2.2.0</MicrosoftAspNetCoreAzureAppServicesSiteExtension22PackageVersion>
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>3.1.3-servicing.20163.14</MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>
|
||||
<MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>3.1.3-servicing-20163-14</MicrosoftAspNetCoreAzureAppServicesSiteExtension31PackageVersion>
|
||||
<!-- 3rd party dependencies -->
|
||||
<AngleSharpPackageVersion>0.9.9</AngleSharpPackageVersion>
|
||||
<BenchmarkDotNetPackageVersion>0.12.1</BenchmarkDotNetPackageVersion>
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ function AddCredential($creds, $source, $username, $password) {
|
|||
$passwordElement.SetAttribute("value", $Password)
|
||||
}
|
||||
|
||||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Password) {
|
||||
function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Username, $Password) {
|
||||
$maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
|
||||
|
||||
Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
|
||||
|
|
@ -123,19 +123,21 @@ if ($creds -eq $null) {
|
|||
$doc.DocumentElement.AppendChild($creds) | Out-Null
|
||||
}
|
||||
|
||||
$userName = "dn-bot"
|
||||
|
||||
# Insert credential nodes for Maestro's private feeds
|
||||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Password $Password
|
||||
InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Username $userName -Password $Password
|
||||
|
||||
$dotnet3Source = $sources.SelectSingleNode("add[@key='dotnet3']")
|
||||
if ($dotnet3Source -ne $null) {
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
}
|
||||
|
||||
$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
|
||||
if ($dotnet31Source -ne $null) {
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username $userName -Password $Password
|
||||
}
|
||||
|
||||
$doc.Save($filename)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir <directory>]"
|
||||
|
|
@ -15,6 +17,8 @@ __CodeName=xenial
|
|||
__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
__InitialDir=$PWD
|
||||
__BuildArch=arm
|
||||
__AlpineArch=armv7
|
||||
__QEMUArch=arm
|
||||
__UbuntuArch=armhf
|
||||
__UbuntuRepo="http://ports.ubuntu.com/"
|
||||
__LLDB_Package="liblldb-3.9-dev"
|
||||
|
|
@ -26,9 +30,10 @@ __UbuntuPackages="build-essential"
|
|||
__AlpinePackages="alpine-base"
|
||||
__AlpinePackages+=" build-base"
|
||||
__AlpinePackages+=" linux-headers"
|
||||
__AlpinePackagesEdgeTesting=" lldb-dev"
|
||||
__AlpinePackagesEdgeMain=" llvm9-libs"
|
||||
__AlpinePackagesEdgeCommunity=" lldb-dev"
|
||||
__AlpinePackagesEdgeMain=" llvm10-libs"
|
||||
__AlpinePackagesEdgeMain+=" python3"
|
||||
__AlpinePackagesEdgeMain+=" libedit"
|
||||
|
||||
# symlinks fixer
|
||||
__UbuntuPackages+=" symlinks"
|
||||
|
|
@ -55,12 +60,11 @@ __AlpinePackages+=" openssl-dev"
|
|||
__AlpinePackages+=" zlib-dev"
|
||||
|
||||
__FreeBSDBase="12.1-RELEASE"
|
||||
__FreeBSDPkg="1.10.5"
|
||||
__FreeBSDPkg="1.12.0"
|
||||
__FreeBSDPackages="libunwind"
|
||||
__FreeBSDPackages+=" icu"
|
||||
__FreeBSDPackages+=" libinotify"
|
||||
__FreeBSDPackages+=" lttng-ust"
|
||||
__FreeBSDPackages+=" llvm-90"
|
||||
__FreeBSDPackages+=" krb5"
|
||||
|
||||
__UnprocessedBuildArgs=
|
||||
|
|
@ -78,7 +82,7 @@ while :; do
|
|||
arm)
|
||||
__BuildArch=arm
|
||||
__UbuntuArch=armhf
|
||||
__AlpineArch=armhf
|
||||
__AlpineArch=armv7
|
||||
__QEMUArch=arm
|
||||
;;
|
||||
arm64)
|
||||
|
|
@ -205,7 +209,7 @@ fi
|
|||
|
||||
if [ -d "$__RootfsDir" ]; then
|
||||
if [ $__SkipUnmount == 0 ]; then
|
||||
umount $__RootfsDir/*
|
||||
umount $__RootfsDir/* || true
|
||||
fi
|
||||
rm -rf $__RootfsDir
|
||||
fi
|
||||
|
|
@ -231,9 +235,9 @@ if [[ "$__CodeName" == "alpine" ]]; then
|
|||
add $__AlpinePackagesEdgeMain
|
||||
|
||||
$__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
|
||||
-X http://dl-cdn.alpinelinux.org/alpine/edge/testing \
|
||||
-X http://dl-cdn.alpinelinux.org/alpine/edge/community \
|
||||
-U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
|
||||
add $__AlpinePackagesEdgeTesting
|
||||
add $__AlpinePackagesEdgeCommunity
|
||||
|
||||
rm -r $__ApkToolsDir
|
||||
elif [[ "$__CodeName" == "freebsd" ]]; then
|
||||
|
|
@ -246,11 +250,13 @@ elif [[ "$__CodeName" == "freebsd" ]]; then
|
|||
# get and build package manager
|
||||
wget -O - https://github.com/freebsd/pkg/archive/${__FreeBSDPkg}.tar.gz | tar -C $__RootfsDir/tmp -zxf -
|
||||
cd $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
|
||||
./autogen.sh && ./configure --prefix=$__RootfsDir/host && make install
|
||||
# needed for install to succeed
|
||||
mkdir -p $__RootfsDir/host/etc
|
||||
./autogen.sh && ./configure --prefix=$__RootfsDir/host && make && make install
|
||||
rm -rf $__RootfsDir/tmp/pkg-${__FreeBSDPkg}
|
||||
# install packages we need.
|
||||
$__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf update
|
||||
$__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
|
||||
INSTALL_AS_USER=$(whoami) $__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf update
|
||||
INSTALL_AS_USER=$(whoami) $__RootfsDir/host/sbin/pkg -r $__RootfsDir -C $__RootfsDir/usr/local/etc/pkg.conf install --yes $__FreeBSDPackages
|
||||
elif [[ -n $__CodeName ]]; then
|
||||
qemu-debootstrap --arch $__UbuntuArch $__CodeName $__RootfsDir $__UbuntuRepo
|
||||
cp $__CrossDir/$__BuildArch/sources.list.$__CodeName $__RootfsDir/etc/apt/sources.list
|
||||
|
|
@ -260,7 +266,7 @@ elif [[ -n $__CodeName ]]; then
|
|||
chroot $__RootfsDir symlinks -cr /usr
|
||||
|
||||
if [ $__SkipUnmount == 0 ]; then
|
||||
umount $__RootfsDir/*
|
||||
umount $__RootfsDir/* || true
|
||||
fi
|
||||
|
||||
if [[ "$__BuildArch" == "arm" && "$__CodeName" == "trusty" ]]; then
|
||||
|
|
|
|||
|
|
@ -0,0 +1,121 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# This file locates the native compiler with the given name and version and sets the environment variables to locate it.
|
||||
#
|
||||
|
||||
source="${BASH_SOURCE[0]}"
|
||||
|
||||
# resolve $SOURCE until the file is no longer a symlink
|
||||
while [[ -h $source ]]; do
|
||||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
|
||||
source="$(readlink "$source")"
|
||||
|
||||
# if $source was a relative symlink, we need to resolve it relative to the path where the
|
||||
# symlink file was located
|
||||
[[ $source != /* ]] && source="$scriptroot/$source"
|
||||
done
|
||||
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
|
||||
|
||||
if [ $# -lt 0 ]
|
||||
then
|
||||
echo "Usage..."
|
||||
echo "find-native-compiler.sh <compiler> <compiler major version> <compiler minor version>"
|
||||
echo "Specify the name of compiler (clang or gcc)."
|
||||
echo "Specify the major version of compiler."
|
||||
echo "Specify the minor version of compiler."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. $scriptroot/../pipeline-logging-functions.sh
|
||||
|
||||
compiler="$1"
|
||||
cxxCompiler="$compiler++"
|
||||
majorVersion="$2"
|
||||
minorVersion="$3"
|
||||
|
||||
if [ "$compiler" = "gcc" ]; then cxxCompiler="g++"; fi
|
||||
|
||||
check_version_exists() {
|
||||
desired_version=-1
|
||||
|
||||
# Set up the environment to be used for building with the desired compiler.
|
||||
if command -v "$compiler-$1.$2" > /dev/null; then
|
||||
desired_version="-$1.$2"
|
||||
elif command -v "$compiler$1$2" > /dev/null; then
|
||||
desired_version="$1$2"
|
||||
elif command -v "$compiler-$1$2" > /dev/null; then
|
||||
desired_version="-$1$2"
|
||||
fi
|
||||
|
||||
echo "$desired_version"
|
||||
}
|
||||
|
||||
if [ -z "$CLR_CC" ]; then
|
||||
|
||||
# Set default versions
|
||||
if [ -z "$majorVersion" ]; then
|
||||
# note: gcc (all versions) and clang versions higher than 6 do not have minor version in file name, if it is zero.
|
||||
if [ "$compiler" = "clang" ]; then versions=( 9 8 7 6.0 5.0 4.0 3.9 3.8 3.7 3.6 3.5 )
|
||||
elif [ "$compiler" = "gcc" ]; then versions=( 9 8 7 6 5 4.9 ); fi
|
||||
|
||||
for version in "${versions[@]}"; do
|
||||
parts=(${version//./ })
|
||||
desired_version="$(check_version_exists "${parts[0]}" "${parts[1]}")"
|
||||
if [ "$desired_version" != "-1" ]; then majorVersion="${parts[0]}"; break; fi
|
||||
done
|
||||
|
||||
if [ -z "$majorVersion" ]; then
|
||||
if command -v "$compiler" > /dev/null; then
|
||||
if [ "$(uname)" != "Darwin" ]; then
|
||||
Write-PipelineTelemetryError -category "Build" -type "warning" "Specific version of $compiler not found, falling back to use the one in PATH."
|
||||
fi
|
||||
export CC="$(command -v "$compiler")"
|
||||
export CXX="$(command -v "$cxxCompiler")"
|
||||
else
|
||||
Write-PipelineTelemetryError -category "Build" "No usable version of $compiler found."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
if [ "$compiler" = "clang" ] && [ "$majorVersion" -lt 5 ]; then
|
||||
if [ "$build_arch" = "arm" ] || [ "$build_arch" = "armel" ]; then
|
||||
if command -v "$compiler" > /dev/null; then
|
||||
Write-PipelineTelemetryError -category "Build" -type "warning" "Found clang version $majorVersion which is not supported on arm/armel architectures, falling back to use clang from PATH."
|
||||
export CC="$(command -v "$compiler")"
|
||||
export CXX="$(command -v "$cxxCompiler")"
|
||||
else
|
||||
Write-PipelineTelemetryError -category "Build" "Found clang version $majorVersion which is not supported on arm/armel architectures, and there is no clang in PATH."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
desired_version="$(check_version_exists "$majorVersion" "$minorVersion")"
|
||||
if [ "$desired_version" = "-1" ]; then
|
||||
Write-PipelineTelemetryError -category "Build" "Could not find specific version of $compiler: $majorVersion $minorVersion."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$CC" ]; then
|
||||
export CC="$(command -v "$compiler$desired_version")"
|
||||
export CXX="$(command -v "$cxxCompiler$desired_version")"
|
||||
if [ -z "$CXX" ]; then export CXX="$(command -v "$cxxCompiler")"; fi
|
||||
fi
|
||||
else
|
||||
if [ ! -f "$CLR_CC" ]; then
|
||||
Write-PipelineTelemetryError -category "Build" "CLR_CC is set but path '$CLR_CC' does not exist"
|
||||
exit 1
|
||||
fi
|
||||
export CC="$CLR_CC"
|
||||
export CXX="$CLR_CXX"
|
||||
fi
|
||||
|
||||
if [ -z "$CC" ]; then
|
||||
Write-PipelineTelemetryError -category "Build" "Unable to find $compiler."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export CCC_CC="$CC"
|
||||
export CCC_CXX="$CXX"
|
||||
export SCAN_BUILD_COMMAND="$(command -v "scan-build$desired_version")"
|
||||
|
|
@ -6,13 +6,18 @@ param(
|
|||
try {
|
||||
. $PSScriptRoot\post-build-utils.ps1
|
||||
|
||||
if ($PromoteToChannels -eq "") {
|
||||
Write-PipelineTaskError -Type 'warning' -Message "This build won't publish assets as it's not configured to any Maestro channel. If that wasn't intended use Darc to configure a default channel using add-default-channel for this branch or to promote it to a channel using add-build-to-channel. See https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#assigning-an-individual-build-to-a-channel for more info."
|
||||
ExitWithExitCode 0
|
||||
}
|
||||
|
||||
# Check that every channel that Maestro told to promote the build to
|
||||
# is available in YAML
|
||||
$PromoteToChannelsIds = $PromoteToChannels -split "\D" | Where-Object { $_ }
|
||||
|
||||
foreach ($id in $PromoteToChannelsIds) {
|
||||
if (($id -ne 0) -and ($id -notin $AvailableChannelIds)) {
|
||||
Write-PipelineTaskError -Type 'warning' -Message "Channel $id is not present in the post-build YAML configuration!"
|
||||
Write-PipelineTaskError -Message "Channel $id is not present in the post-build YAML configuration! This is an error scenario. Please contact @dnceng."
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
param(
|
||||
[Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where NuGet packages to be checked are stored
|
||||
[Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
|
||||
[Parameter(Mandatory=$true)][string] $DotnetSymbolVersion # Version of dotnet symbol to use
|
||||
[Parameter(Mandatory=$true)][string] $DotnetSymbolVersion, # Version of dotnet symbol to use
|
||||
[Parameter(Mandatory=$false)][switch] $ContinueOnError # If we should keep checking symbols after an error
|
||||
)
|
||||
|
||||
function FirstMatchingSymbolDescriptionOrDefault {
|
||||
|
|
@ -125,6 +126,8 @@ function CheckSymbolsAvailable {
|
|||
Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
$TotalFailures = 0
|
||||
|
||||
Get-ChildItem "$InputPath\*.nupkg" |
|
||||
ForEach-Object {
|
||||
$FileName = $_.Name
|
||||
|
|
@ -148,11 +151,22 @@ function CheckSymbolsAvailable {
|
|||
|
||||
if ($Status -ne 0) {
|
||||
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Missing symbols for $Status modules in the package $FileName"
|
||||
ExitWithExitCode $exitCode
|
||||
|
||||
if ($ContinueOnError) {
|
||||
$TotalFailures++
|
||||
}
|
||||
else {
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host
|
||||
}
|
||||
|
||||
if ($TotalFailures -ne 0) {
|
||||
Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Symbols missing for $TotalFailures packages"
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
}
|
||||
|
||||
function InstallDotnetSymbol {
|
||||
|
|
|
|||
|
|
@ -57,6 +57,18 @@ try {
|
|||
ExitWithExitCode 1
|
||||
}
|
||||
|
||||
if( $msbuildEngine -eq "vs") {
|
||||
# Ensure desktop MSBuild is available for sdk tasks.
|
||||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "vs" )) {
|
||||
$GlobalJson.tools | Add-Member -Name "vs" -Value (ConvertFrom-Json "{ `"version`": `"16.4`" }") -MemberType NoteProperty
|
||||
}
|
||||
if( -not ($GlobalJson.tools.PSObject.Properties.Name -match "xcopy-msbuild" )) {
|
||||
$GlobalJson.tools | Add-Member -Name "xcopy-msbuild" -Value "16.4.0-alpha" -MemberType NoteProperty
|
||||
}
|
||||
|
||||
InitializeXCopyMSBuild $GlobalJson.tools."xcopy-msbuild" -install $true
|
||||
}
|
||||
|
||||
$taskProject = GetSdkTaskProject $task
|
||||
if (!(Test-Path $taskProject)) {
|
||||
Write-PipelineTelemetryError -Category 'Build' -Message "Unknown task: $task" -ForegroundColor Red
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ try {
|
|||
}
|
||||
}
|
||||
catch {
|
||||
Write-Host $_.ScriptStackTrace
|
||||
Write-Host $_
|
||||
Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
|
|
@ -74,7 +74,7 @@ try {
|
|||
Measure-Command { ExtractArtifacts }
|
||||
}
|
||||
catch {
|
||||
Write-Host $_.ScriptStackTrace
|
||||
Write-Host $_
|
||||
Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
|
||||
ExitWithExitCode 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ $ProgressPreference = 'SilentlyContinue'
|
|||
# Construct basic auth from AzDO access token; construct URI to the repository's gdn folder stored in that repository; construct location of zip file
|
||||
$encodedPat = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$AzureDevOpsAccessToken"))
|
||||
$escapedRepository = [Uri]::EscapeDataString("/$Repository/$BranchName/.gdn")
|
||||
$uri = "https://dev.azure.com/dnceng/internal/_apis/git/repositories/sdl-tool-cfg/Items?path=$escapedRepository&versionDescriptor[versionOptions]=0&`$format=zip&api-version=5.0-preview.1"
|
||||
$uri = "https://dev.azure.com/dnceng/internal/_apis/git/repositories/sdl-tool-cfg/Items?path=$escapedRepository&versionDescriptor[versionOptions]=0&`$format=zip&api-version=5.0"
|
||||
$zipFile = "$WorkingDirectory/gdn.zip"
|
||||
|
||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Microsoft.Guardian.Cli" version="0.7.2"/>
|
||||
<package id="Microsoft.Guardian.Cli.win10-x64" version="0.20.1"/>
|
||||
</packages>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ parameters:
|
|||
# 'continueOnError', the parameter value is not correctly picked up.
|
||||
# This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
|
||||
sdlContinueOnError: false # optional: determines whether to continue the build if the step errors;
|
||||
downloadArtifacts: true # optional: determines if the artifacts should be dowloaded
|
||||
dependsOn: '' # Optional: dependencies of the job
|
||||
artifactNames: '' # Optional: patterns supplied to DownloadBuildArtifacts
|
||||
# Usage:
|
||||
|
|
@ -31,8 +32,20 @@ jobs:
|
|||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
- ${{ if ne(parameters.artifactNames, '') }}:
|
||||
- ${{ each artifactName in parameters.artifactNames }}:
|
||||
- ${{ if ne(parameters.downloadArtifacts, 'false')}}:
|
||||
- ${{ if ne(parameters.artifactNames, '') }}:
|
||||
- ${{ each artifactName in parameters.artifactNames }}:
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Build Artifacts
|
||||
inputs:
|
||||
buildType: specific
|
||||
buildVersionToDownload: specific
|
||||
project: $(AzDOProjectName)
|
||||
pipeline: $(AzDOPipelineId)
|
||||
buildId: $(AzDOBuildId)
|
||||
artifactName: ${{ artifactName }}
|
||||
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
|
||||
- ${{ if eq(parameters.artifactNames, '') }}:
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Build Artifacts
|
||||
inputs:
|
||||
|
|
@ -41,20 +54,9 @@ jobs:
|
|||
project: $(AzDOProjectName)
|
||||
pipeline: $(AzDOPipelineId)
|
||||
buildId: $(AzDOBuildId)
|
||||
artifactName: ${{ artifactName }}
|
||||
downloadType: specific files
|
||||
itemPattern: "**"
|
||||
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
|
||||
- ${{ if eq(parameters.artifactNames, '') }}:
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Build Artifacts
|
||||
inputs:
|
||||
buildType: specific
|
||||
buildVersionToDownload: specific
|
||||
project: $(AzDOProjectName)
|
||||
pipeline: $(AzDOPipelineId)
|
||||
buildId: $(AzDOBuildId)
|
||||
downloadType: specific files
|
||||
itemPattern: "**"
|
||||
downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
|
||||
- powershell: eng/common/sdl/extract-artifact-packages.ps1
|
||||
-InputPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
|
||||
-ExtractPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
|
||||
|
|
@ -81,7 +83,7 @@ jobs:
|
|||
continueOnError: ${{ parameters.sdlContinueOnError }}
|
||||
- ${{ if eq(parameters.overrideParameters, '') }}:
|
||||
- powershell: eng/common/sdl/execute-all-sdl-tools.ps1
|
||||
-GuardianPackageName Microsoft.Guardian.Cli.0.7.2
|
||||
-GuardianPackageName Microsoft.Guardian.Cli.win10-x64.0.20.1
|
||||
-NugetPackageDirectory $(Build.SourcesDirectory)\.packages
|
||||
-AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
|
||||
${{ parameters.additionalParameters }}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ parameters:
|
|||
enablePublishBuildAssets: false
|
||||
enablePublishTestResults: false
|
||||
enablePublishUsingPipelines: false
|
||||
useBuildManifest: false
|
||||
mergeTestResults: false
|
||||
testRunTitle: $(AgentOsName)-$(BuildConfiguration)-xunit
|
||||
name: ''
|
||||
|
|
@ -218,3 +219,12 @@ jobs:
|
|||
ArtifactName: AssetManifests
|
||||
continueOnError: ${{ parameters.continueOnError }}
|
||||
condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
|
||||
|
||||
- ${{ if eq(parameters.useBuildManifest, true) }}:
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: Publish Build Manifest
|
||||
inputs:
|
||||
PathToPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/manifest.props'
|
||||
PublishLocation: Container
|
||||
ArtifactName: BuildManifests
|
||||
continueOnError: ${{ parameters.continueOnError }}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ stages:
|
|||
- job: publish_symbols
|
||||
displayName: Symbol Publishing
|
||||
dependsOn: setupMaestroVars
|
||||
condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
|
||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
||||
variables:
|
||||
- group: DotNet-Symbol-Server-Pats
|
||||
- name: AzDOProjectName
|
||||
|
|
@ -96,7 +96,7 @@ stages:
|
|||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOPipelineId'] ]
|
||||
- name: AzDOBuildId
|
||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
||||
condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
|
||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ stages:
|
|||
- job: publish_symbols
|
||||
displayName: Symbol Publishing
|
||||
dependsOn: setupMaestroVars
|
||||
condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
|
||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
||||
variables:
|
||||
- group: DotNet-Symbol-Server-Pats
|
||||
- name: AzDOProjectName
|
||||
|
|
@ -99,7 +99,7 @@ stages:
|
|||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.AzDOBuildId'] ]
|
||||
- name: ArtifactsCategory
|
||||
value: ${{ coalesce(variables._DotNetArtifactsCategory, '.NETCore') }}
|
||||
condition: or(contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', ${{ parameters.channelId }} )), eq(dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'], ${{ parameters.channelId }}))
|
||||
condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'], format('[{0}]', ${{ parameters.channelId }} ))
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ variables:
|
|||
- name: MaestroApiAccessToken
|
||||
value: $(MaestroAccessToken)
|
||||
- name: MaestroApiVersion
|
||||
value: "2019-01-16"
|
||||
value: "2020-02-20"
|
||||
|
||||
- name: SourceLinkCLIVersion
|
||||
value: 3.0.0
|
||||
|
|
|
|||
|
|
@ -9,12 +9,14 @@ parameters:
|
|||
continueOnError: false
|
||||
params: ''
|
||||
artifactNames: ''
|
||||
downloadArtifacts: true
|
||||
|
||||
# These parameters let the user customize the call to sdk-task.ps1 for publishing
|
||||
# symbols & general artifacts as well as for signing validation
|
||||
symbolPublishingAdditionalParameters: ''
|
||||
artifactsPublishingAdditionalParameters: ''
|
||||
signingValidationAdditionalParameters: ''
|
||||
useBuildManifest: false
|
||||
|
||||
# Which stages should finish execution before post-build stages start
|
||||
validateDependsOn:
|
||||
|
|
@ -38,8 +40,8 @@ parameters:
|
|||
Net5Preview3ChannelId: 739
|
||||
Net5Preview4ChannelId: 856
|
||||
Net5Preview5ChannelId: 857
|
||||
NetCoreSDK313xxChannelId: 759
|
||||
NetCoreSDK313xxInternalChannelId: 760
|
||||
NetCoreSDK314xxChannelId: 921
|
||||
NetCoreSDK314xxInternalChannelId: 922
|
||||
|
||||
stages:
|
||||
- stage: Validate
|
||||
|
|
@ -54,10 +56,8 @@ stages:
|
|||
displayName: Post-build Checks
|
||||
dependsOn: setupMaestroVars
|
||||
variables:
|
||||
- name: InitialChannels
|
||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'] ]
|
||||
- name: PromoteToMaestroChannelId
|
||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.PromoteToMaestroChannelId'] ]
|
||||
- name: TargetChannels
|
||||
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.TargetChannels'] ]
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
|
|
@ -65,8 +65,8 @@ stages:
|
|||
displayName: Maestro Channels Consistency
|
||||
inputs:
|
||||
filePath: $(Build.SourcesDirectory)/eng/common/post-build/check-channel-consistency.ps1
|
||||
arguments: -PromoteToChannels "$(InitialChannels)[$(PromoteToMaestroChannelId)]"
|
||||
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}}${{parameters.Net5Preview3ChannelId}},${{parameters.Net5Preview4ChannelId}},${{parameters.Net5Preview5ChannelId}},${{parameters.NetCoreSDK313xxChannelId}},${{parameters.NetCoreSDK313xxInternalChannelId}}
|
||||
arguments: -PromoteToChannels "$(TargetChannels)"
|
||||
-AvailableChannelIds ${{parameters.NetEngLatestChannelId}},${{parameters.NetEngValidationChannelId}},${{parameters.NetDev5ChannelId}},${{parameters.GeneralTestingChannelId}},${{parameters.NETCoreToolingDevChannelId}},${{parameters.NETCoreToolingReleaseChannelId}},${{parameters.NETInternalToolingChannelId}},${{parameters.NETCoreExperimentalChannelId}},${{parameters.NetEngServicesIntChannelId}},${{parameters.NetEngServicesProdChannelId}},${{parameters.Net5Preview3ChannelId}},${{parameters.Net5Preview4ChannelId}},${{parameters.Net5Preview5ChannelId}},${{parameters.NetCoreSDK314xxChannelId}},${{parameters.NetCoreSDK314xxInternalChannelId}}
|
||||
|
||||
- job:
|
||||
displayName: NuGet Validation
|
||||
|
|
@ -114,6 +114,16 @@ stages:
|
|||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
steps:
|
||||
- ${{ if eq(parameters.useBuildManifest, true) }}:
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download build manifest
|
||||
inputs:
|
||||
buildType: specific
|
||||
buildVersionToDownload: specific
|
||||
project: $(AzDOProjectName)
|
||||
pipeline: $(AzDOPipelineId)
|
||||
buildId: $(AzDOBuildId)
|
||||
artifactName: BuildManifests
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Package Artifacts
|
||||
inputs:
|
||||
|
|
@ -136,11 +146,13 @@ stages:
|
|||
filePath: eng\common\enable-cross-org-publishing.ps1
|
||||
arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
|
||||
|
||||
# Signing validation will optionally work with the buildmanifest file which is downloaded from
|
||||
# Azure DevOps above.
|
||||
- task: PowerShell@2
|
||||
displayName: Validate
|
||||
inputs:
|
||||
filePath: eng\common\sdk-task.ps1
|
||||
arguments: -task SigningValidation -restore -msbuildEngine dotnet
|
||||
arguments: -task SigningValidation -restore -msbuildEngine vs
|
||||
/p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts'
|
||||
/p:SignCheckExclusionsFile='$(Build.SourcesDirectory)/eng/SignCheckExclusionsFile.txt'
|
||||
${{ parameters.signingValidationAdditionalParameters }}
|
||||
|
|
@ -193,6 +205,7 @@ stages:
|
|||
additionalParameters: ${{ parameters.SDLValidationParameters.params }}
|
||||
continueOnError: ${{ parameters.SDLValidationParameters.continueOnError }}
|
||||
artifactNames: ${{ parameters.SDLValidationParameters.artifactNames }}
|
||||
downloadArtifacts: ${{ parameters.SDLValidationParameters.downloadArtifacts }}
|
||||
|
||||
- template: \eng\common\templates\post-build\channels\generic-public-channel.yml
|
||||
parameters:
|
||||
|
|
@ -376,9 +389,9 @@ stages:
|
|||
dependsOn: ${{ parameters.publishDependsOn }}
|
||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
||||
stageName: 'NETCore_SDK_313xx_Publishing'
|
||||
channelName: '.NET Core SDK 3.1.3xx'
|
||||
channelId: ${{ parameters.NetCoreSDK313xxChannelId }}
|
||||
stageName: 'NETCore_SDK_314xx_Publishing'
|
||||
channelName: '.NET Core SDK 3.1.4xx'
|
||||
channelId: ${{ parameters.NetCoreSDK314xxChannelId }}
|
||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-transport/nuget/v3/index.json'
|
||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1/nuget/v3/index.json'
|
||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3.1-symbols/nuget/v3/index.json'
|
||||
|
|
@ -389,10 +402,9 @@ stages:
|
|||
dependsOn: ${{ parameters.publishDependsOn }}
|
||||
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
|
||||
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
|
||||
stageName: 'NETCore_SDK_313xx_Internal_Publishing'
|
||||
channelName: '.NET Core SDK 3.1.3xx Internal'
|
||||
channelId: ${{ parameters.NetCoreSDK313xxInternalChannelId }}
|
||||
stageName: 'NETCore_SDK_314xx_Internal_Publishing'
|
||||
channelName: '.NET Core SDK 3.1.4xx Internal'
|
||||
channelId: ${{ parameters.NetCoreSDK314xxInternalChannelId }}
|
||||
transportFeed: 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v3/index.json'
|
||||
shippingFeed: 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v3/index.json'
|
||||
symbolsFeed: 'https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-symbols/nuget/v3/index.json'
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ jobs:
|
|||
- template: common-variables.yml
|
||||
- name: BuildId
|
||||
value: $[ coalesce(variables.BARBuildId, 0) ]
|
||||
- name: PromoteToChannelId
|
||||
- name: PromoteToMaestroChannels
|
||||
value: $[ coalesce(variables.PromoteToChannelIds, 0) ]
|
||||
- name: PromoteToMaestroChannel
|
||||
value: $[ coalesce(variables.PromoteToMaestroChannelId, 0) ]
|
||||
pool:
|
||||
vmImage: 'windows-2019'
|
||||
|
|
@ -14,7 +16,7 @@ jobs:
|
|||
|
||||
- task: DownloadBuildArtifacts@0
|
||||
displayName: Download Release Configs
|
||||
condition: eq(variables.PromoteToChannelId, 0)
|
||||
condition: and(eq(variables.PromoteToMaestroChannels, 0), eq(variables.PromoteToMaestroChannel, 0))
|
||||
inputs:
|
||||
buildType: current
|
||||
artifactName: ReleaseConfigs
|
||||
|
|
@ -26,20 +28,16 @@ jobs:
|
|||
targetType: inline
|
||||
script: |
|
||||
try {
|
||||
if ($Env:PromoteToChannelId -eq 0) {
|
||||
if ($Env:PromoteToMaestroChannels -eq 0 -and $Env:PromoteToMaestroChannel -eq 0) {
|
||||
$Content = Get-Content $(Build.StagingDirectory)/ReleaseConfigs/ReleaseConfigs.txt
|
||||
|
||||
$BarId = $Content | Select -Index 0
|
||||
|
||||
$Channels = ""
|
||||
$Content | Select -Index 1 | ForEach-Object { $Channels += "$_ ," }
|
||||
|
||||
$Channels = $Content | Select -Index 1
|
||||
$IsStableBuild = $Content | Select -Index 2
|
||||
|
||||
$AzureDevOpsProject = $Env:System_TeamProject
|
||||
$AzureDevOpsBuildDefinitionId = $Env:System_DefinitionId
|
||||
$AzureDevOpsBuildId = $Env:Build_BuildId
|
||||
$PromoteToMaestroChannelId = 0
|
||||
}
|
||||
else {
|
||||
$buildApiEndpoint = "${Env:MaestroApiEndPoint}/api/builds/${Env:BARBuildId}?api-version=${Env:MaestroApiVersion}"
|
||||
|
|
@ -51,25 +49,23 @@ jobs:
|
|||
$buildInfo = try { Invoke-WebRequest -Method Get -Uri $buildApiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
|
||||
|
||||
$BarId = $Env:BARBuildId
|
||||
$Channels = 'None'
|
||||
|
||||
#TODO: Fix this once this issue is done: https://github.com/dotnet/arcade/issues/3834
|
||||
$IsStableBuild = 'False'
|
||||
$Channels = $Env:PromoteToMaestroChannels -split ","
|
||||
$Channels = $Channels -join "]["
|
||||
$Channels = "[$Channels][$Env:PromoteToMaestroChannel]"
|
||||
|
||||
$IsStableBuild = $buildInfo.stable
|
||||
$AzureDevOpsProject = $buildInfo.azureDevOpsProject
|
||||
$AzureDevOpsBuildDefinitionId = $buildInfo.azureDevOpsBuildDefinitionId
|
||||
$AzureDevOpsBuildId = $buildInfo.azureDevOpsBuildId
|
||||
$PromoteToMaestroChannelId = $Env:PromoteToMaestroChannelId
|
||||
}
|
||||
|
||||
Write-Host "##vso[task.setvariable variable=BARBuildId;isOutput=true]$BarId"
|
||||
Write-Host "##vso[task.setvariable variable=InitialChannels;isOutput=true]$Channels"
|
||||
Write-Host "##vso[task.setvariable variable=TargetChannels;isOutput=true]$Channels"
|
||||
Write-Host "##vso[task.setvariable variable=IsStableBuild;isOutput=true]$IsStableBuild"
|
||||
|
||||
Write-Host "##vso[task.setvariable variable=AzDOProjectName;isOutput=true]$AzureDevOpsProject"
|
||||
Write-Host "##vso[task.setvariable variable=AzDOPipelineId;isOutput=true]$AzureDevOpsBuildDefinitionId"
|
||||
Write-Host "##vso[task.setvariable variable=AzDOBuildId;isOutput=true]$AzureDevOpsBuildId"
|
||||
Write-Host "##vso[task.setvariable variable=PromoteToMaestroChannelId;isOutput=true]$PromoteToMaestroChannelId"
|
||||
}
|
||||
catch {
|
||||
Write-Host $_
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ parameters:
|
|||
HelixPostCommands: '' # optional -- commands to run after Helix work item execution
|
||||
WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
|
||||
WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
|
||||
WorkItemTimeout: '' # optional -- a timeout in seconds for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
|
||||
WorkItemTimeout: '' # optional -- a timeout in TimeSpan.Parse-ready value (e.g. 00:02:00) for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
|
||||
CorrelationPayloadDirectory: '' # optional -- a directory to zip up and send to Helix as a correlation payload
|
||||
XUnitProjects: '' # optional -- semicolon delimited list of XUnitProjects to parse and send to Helix; requires XUnitRuntimeTargetFramework, XUnitPublishTargetFramework, XUnitRunnerVersion, and IncludeDotNetCli=true
|
||||
XUnitWorkItemTimeout: '' # optional -- the workitem timeout in seconds for all workitems created from the xUnit projects specified by XUnitProjects
|
||||
|
|
@ -18,8 +18,8 @@ parameters:
|
|||
XUnitRuntimeTargetFramework: '' # optional -- framework to use for the xUnit console runner
|
||||
XUnitRunnerVersion: '' # optional -- version of the xUnit nuget package you wish to use on Helix; required for XUnitProjects
|
||||
IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
|
||||
DotNetCliPackageType: '' # optional -- either 'sdk' or 'runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
|
||||
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
|
||||
DotNetCliPackageType: '' # optional -- either 'sdk' or 'runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json
|
||||
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases-index.json
|
||||
EnableXUnitReporter: false # optional -- true enables XUnit result reporting to Mission Control
|
||||
WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
|
||||
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
|
||||
|
|
|
|||
|
|
@ -488,10 +488,11 @@ function GetNuGetPackageCachePath() {
|
|||
if ($env:NUGET_PACKAGES -eq $null) {
|
||||
# Use local cache on CI to ensure deterministic build,
|
||||
# use global cache in dev builds to avoid cost of downloading packages.
|
||||
# For directory normalization, see also: https://github.com/NuGet/Home/issues/7968
|
||||
if ($useGlobalNuGetCache) {
|
||||
$env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages'
|
||||
$env:NUGET_PACKAGES = Join-Path $env:UserProfile '.nuget\packages\'
|
||||
} else {
|
||||
$env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages'
|
||||
$env:NUGET_PACKAGES = Join-Path $RepoRoot '.packages\'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -546,7 +547,7 @@ function InitializeToolset() {
|
|||
|
||||
MSBuild-Core $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile
|
||||
|
||||
$path = Get-Content $toolsetLocationFile -TotalCount 1
|
||||
$path = Get-Content $toolsetLocationFile -Encoding UTF8 -TotalCount 1
|
||||
if (!(Test-Path $path)) {
|
||||
throw "Invalid toolset path: $path"
|
||||
}
|
||||
|
|
@ -632,6 +633,8 @@ function MSBuild-Core() {
|
|||
}
|
||||
}
|
||||
|
||||
$env:ARCADE_BUILD_TOOL_COMMAND = "$($buildTool.Path) $cmdArgs"
|
||||
|
||||
$exitCode = Exec-Process $buildTool.Path $cmdArgs
|
||||
|
||||
if ($exitCode -ne 0) {
|
||||
|
|
|
|||
|
|
@ -422,11 +422,17 @@ function MSBuild-Core {
|
|||
warnaserror_switch="/warnaserror"
|
||||
fi
|
||||
|
||||
"$_InitializeBuildTool" "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" || {
|
||||
local exit_code=$?
|
||||
Write-PipelineTelemetryError -category 'Build' "Build failed (exit code '$exit_code')."
|
||||
ExitWithExitCode $exit_code
|
||||
function RunBuildTool {
|
||||
export ARCADE_BUILD_TOOL_COMMAND="$_InitializeBuildTool $@"
|
||||
|
||||
"$_InitializeBuildTool" "$@" || {
|
||||
local exit_code=$?
|
||||
Write-PipelineTaskError "Build failed (exit code '$exit_code')."
|
||||
ExitWithExitCode $exit_code
|
||||
}
|
||||
}
|
||||
|
||||
RunBuildTool "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@"
|
||||
}
|
||||
|
||||
ResolvePath "${BASH_SOURCE[0]}"
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace RunTests
|
|||
EnvironmentVariables.Add("NUGET_FALLBACK_PACKAGES", helixDir);
|
||||
var nugetRestore = Path.Combine(helixDir, "nugetRestore");
|
||||
EnvironmentVariables.Add("NUGET_RESTORE", nugetRestore);
|
||||
var dotnetEFFullPath = Path.Combine(nugetRestore, $"dotnet-ef/{Options.EfVersion}/tools/netcoreapp3.1/any/dotnet-ef.exe");
|
||||
var dotnetEFFullPath = Path.Combine(nugetRestore, helixDir, "dotnet-ef.exe");
|
||||
Console.WriteLine($"Set DotNetEfFullPath: {dotnetEFFullPath}");
|
||||
EnvironmentVariables.Add("DotNetEfFullPath", dotnetEFFullPath);
|
||||
|
||||
|
|
@ -138,11 +138,10 @@ namespace RunTests
|
|||
errorDataReceived: Console.Error.WriteLine);
|
||||
|
||||
await ProcessUtil.RunAsync($"{Options.DotnetRoot}/dotnet",
|
||||
$"tool install dotnet-ef --global --version {Options.EfVersion}",
|
||||
$"tool install dotnet-ef --version {Options.EfVersion} --tool-path {Options.HELIX_WORKITEM_ROOT}",
|
||||
environmentVariables: EnvironmentVariables,
|
||||
outputDataReceived: Console.WriteLine,
|
||||
errorDataReceived: Console.Error.WriteLine,
|
||||
throwOnError: false); // EF tool is sometimes already installed so we can ignore this failure
|
||||
errorDataReceived: Console.Error.WriteLine);
|
||||
|
||||
// ';' is the path separator on Windows, and ':' on Unix
|
||||
Options.Path += RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ";" : ":";
|
||||
|
|
|
|||
|
|
@ -48,10 +48,10 @@ try {
|
|||
if ($ci) {
|
||||
# Install dotnet.exe
|
||||
if ($DotNetRuntimeSourceFeed -or $DotNetRuntimeSourceFeedKey) {
|
||||
& $repoRoot/restore.cmd -ci -NoBuildNodeJS -DotNetRuntimeSourceFeed $DotNetRuntimeSourceFeed -DotNetRuntimeSourceFeedKey $DotNetRuntimeSourceFeedKey
|
||||
& $repoRoot/restore.cmd -ci -noBuildNodeJS -DotNetRuntimeSourceFeed $DotNetRuntimeSourceFeed -DotNetRuntimeSourceFeedKey $DotNetRuntimeSourceFeedKey
|
||||
}
|
||||
else{
|
||||
& $repoRoot/restore.cmd -ci -NoBuildNodeJS
|
||||
& $repoRoot/restore.cmd -ci -noBuildNodeJS
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
-SourceToolsList @("policheck","credscan")
|
||||
-TsaInstanceURL https://devdiv.visualstudio.com/
|
||||
-TsaProjectName DEVDIV
|
||||
-TsaNotificationEmail aspnetcore-build@microsoft.com
|
||||
-TsaCodebaseAdmin REDMOND\kevinpi
|
||||
-TsaBugAreaPath "DevDiv\ASP.NET Core"
|
||||
-TsaIterationPath DevDiv
|
||||
-TsaRepositoryName AspNetCore
|
||||
-TsaCodebaseName AspNetCore
|
||||
-TsaOnboard $True
|
||||
-TsaPublish $True
|
||||
-PoliCheckAdditionalRunConfigParams @("UserExclusionPath < $(Build.SourcesDirectory)/eng/PoliCheckExclusions.xml")
|
||||
|
|
@ -8,14 +8,14 @@
|
|||
|
||||
<ItemGroup Condition="'$(IsWindowsOnlyTest)' == 'true'">
|
||||
<HelixAvailablePlatform Include="Windows" />
|
||||
|
||||
|
||||
<HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\update_schema.ps1" />
|
||||
<HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\UpdateIISExpressCertificate.ps1" />
|
||||
<HelixContent Include="$(RepoRoot)src\Servers\IIS\tools\TestCert.pfx" />
|
||||
<HelixContent Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\AspNetCore\aspnetcore_schema_v2.xml" />
|
||||
|
||||
<HelixPreCommand Include="call RunPowershell.cmd update_schema.ps1 || exit /b 1" />
|
||||
<HelixPreCommand Include="call RunPowershell.cmd UpdateIISExpressCertificate.ps1 || exit /b 1" />
|
||||
<HelixPreCommand Include="call RunPowershell.cmd UpdateIISExpressCertificate.ps1 || exit /b 1" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- ubuntu and win10 required for green PR queues -->
|
||||
|
|
@ -27,7 +27,6 @@
|
|||
|
||||
<!-- daily scheduled only queues -->
|
||||
<ItemGroup Condition="'$(IsWindowsOnlyTest)' != 'true' AND '$(TargetArchitecture)' == 'x64' AND '$(IsHelixDaily)' == 'true'">
|
||||
<HelixAvailableTargetQueue Include="Windows.81.Amd64.Open" Platform="Windows" />
|
||||
<HelixAvailableTargetQueue Include="Windows.7.Amd64.Open" Platform="Windows" />
|
||||
<HelixAvailableTargetQueue Include="Ubuntu.1804.Amd64.Open" Platform="Linux" />
|
||||
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="Linux" />
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
<Output TaskParameter="ExitCode" PropertyName="ErrorCode"/>
|
||||
</Exec>
|
||||
|
||||
<Error Text="Building *.npmproj but NodeJS was not detected on path. Ensure NodeJS is on path or disable building NodeJS projects with /p:BuildNodeJs=false. Skipping NodeJS projects will also skip managed projects depending on them, including Components, Mvc and Analysers." Condition="'$(ErrorCode)' != '0'"/>
|
||||
<Error Text="Building *.npmproj but NodeJS was not detected on path. Ensure NodeJS is on path or disable building NodeJS projects with -noBuildNodeJS or --no-build-nodejs. Skipping NodeJS projects will also skip managed projects depending on them, including Components, Mvc and Analysers." Condition="'$(ErrorCode)' != '0'"/>
|
||||
</Target>
|
||||
|
||||
<Target Name="Restore">
|
||||
|
|
|
|||
|
|
@ -5,40 +5,35 @@ with the right MSBuild incantations to get output copied to the right place.
|
|||
|
||||
-->
|
||||
<Project>
|
||||
<Choose>
|
||||
<!-- IIS native projects only build on Windows with MSBuild.exe -->
|
||||
<When Condition="'$(OS)' == 'Windows_NT' AND '$(MSBuildRuntimeType)' != 'Core' ">
|
||||
<ItemGroup Condition="@(NativeProjectReference->Count()) != 0 AND '$(BuildNative)' != 'false' ">
|
||||
<!-- TODO: investigate building just one arch at a time. -->
|
||||
<ProjectReference Include="@(NativeProjectReference)">
|
||||
<!-- Set the arch-->
|
||||
<SetPlatform>Platform=%(Platform)</SetPlatform>
|
||||
<SetPlatform Condition="'%(Platform)' == 'x86'">Platform=Win32</SetPlatform>
|
||||
<!-- The base path for the output. -->
|
||||
<LinkBase>%(Platform)\%(HandlerPath)\</LinkBase>
|
||||
<!-- This reference assembly doesn't need -->
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
<!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved. -->
|
||||
<OutputItemType>NativeContent</OutputItemType>
|
||||
<!-- This instructs the ProjectRef protocol to collect symbols as well as built output -->
|
||||
<Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets>
|
||||
<!-- Optimization. Native projects don't have a .NET TargetFramework -->
|
||||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
|
||||
<UndefineProperties>TargetFramework</UndefineProperties>
|
||||
<!-- Don't put this reference into generated .nuspec -->
|
||||
<PrivateAssets>All</PrivateAssets>
|
||||
<!-- Publish assets from this reference -->
|
||||
<Publish>true</Publish>
|
||||
</ProjectReference>
|
||||
|
||||
<NativeProjectReference Remove="@(NativeProjectReference)" />
|
||||
</ItemGroup>
|
||||
</When>
|
||||
</Choose>
|
||||
<!-- IIS native projects only build on Windows with MSBuild.exe -->
|
||||
<ItemGroup Condition="@(NativeProjectReference->Count()) != 0 AND $(BuildNative) ">
|
||||
<!-- TODO: investigate building just one arch at a time. -->
|
||||
<ProjectReference Include="@(NativeProjectReference)">
|
||||
<!-- Set the arch-->
|
||||
<SetPlatform>Platform=%(Platform)</SetPlatform>
|
||||
<SetPlatform Condition="'%(Platform)' == 'x86'">Platform=Win32</SetPlatform>
|
||||
<!-- The base path for the output. -->
|
||||
<LinkBase>%(Platform)\%(HandlerPath)\</LinkBase>
|
||||
<!-- This reference assembly doesn't need -->
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
<!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved. -->
|
||||
<OutputItemType>NativeContent</OutputItemType>
|
||||
<!-- This instructs the ProjectRef protocol to collect symbols as well as built output -->
|
||||
<Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets>
|
||||
<!-- Optimization. Native projects don't have a .NET TargetFramework -->
|
||||
<SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
|
||||
<UndefineProperties>TargetFramework</UndefineProperties>
|
||||
<!-- Don't put this reference into generated .nuspec -->
|
||||
<PrivateAssets>All</PrivateAssets>
|
||||
<!-- Publish assets from this reference -->
|
||||
<Publish>true</Publish>
|
||||
</ProjectReference>
|
||||
<NativeProjectReference Remove="@(NativeProjectReference)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="_WarnAboutUnbuiltNativeDependencies"
|
||||
BeforeTargets="Build"
|
||||
Condition=" @(NativeProjectReference->Count()) != 0 AND '$(BuildNative)' == 'false' ">
|
||||
Condition=" @(NativeProjectReference->Count()) != 0 AND !$(BuildNative) ">
|
||||
<Warning Text="This project has native dependencies which were not built. Without this, tests may not function correctly. Run `build.cmd -native` to build native projects. Run `build.cmd -managed -native` to build both C# and C++." />
|
||||
</Target>
|
||||
|
||||
|
|
|
|||
|
|
@ -144,41 +144,40 @@
|
|||
<UnusedBaselinePackageReference Include="@(BaselinePackageReference)" Exclude="@(Reference);@(_ProjectReferenceByAssemblyName);@(PackageReference)" />
|
||||
<!-- Only allow suppressing baseline changes in non-servicing builds. -->
|
||||
<UnusedBaselinePackageReference Remove="@(SuppressBaselineReference)" Condition="'$(IsServicingBuild)' != 'true'"/>
|
||||
</ItemGroup>
|
||||
|
||||
<!--
|
||||
MSBuild does not provide a way to join on matching identities in a Condition,
|
||||
but you can do a cartesian product of two item groups and filter out mismatched id's in a second pass.
|
||||
-->
|
||||
<_LatestPackageReferenceWithVersion Include="@(Reference)" Condition=" '$(UseLatestPackageReferences)' == 'true' ">
|
||||
<Id>%(LatestPackageReference.Identity)</Id>
|
||||
<Version>%(LatestPackageReference.Version)</Version>
|
||||
</_LatestPackageReferenceWithVersion>
|
||||
<_LatestPackageReferenceWithVersion Remove="@(_LatestPackageReferenceWithVersion)" Condition="'%(Id)' != '%(Identity)' " />
|
||||
<JoinItems Left="@(Reference)" Right="@(LatestPackageReference)" LeftMetadata="*" RightMetadata="Version"
|
||||
Condition=" '$(UseLatestPackageReferences)' == 'true' ">
|
||||
<Output TaskParameter="JoinResult" ItemName="_LatestPackageReferenceWithVersion" />
|
||||
</JoinItems>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Remove reference items that have been resolved to a LatestPackageReference item. -->
|
||||
<Reference Remove="@(_LatestPackageReferenceWithVersion)" />
|
||||
<PackageReference Include="@(_LatestPackageReferenceWithVersion)" IsImplicitlyDefined="true" />
|
||||
<Reference Remove="@(_LatestPackageReferenceWithVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Resolve references from BaselinePackageReference for servicing builds. -->
|
||||
<_BaselinePackageReferenceWithVersion Include="@(Reference)" Condition=" '$(IsServicingBuild)' == 'true' OR '$(UseLatestPackageReferences)' != 'true' ">
|
||||
<Id>%(BaselinePackageReference.Identity)</Id>
|
||||
<Version>%(BaselinePackageReference.Version)</Version>
|
||||
</_BaselinePackageReferenceWithVersion>
|
||||
|
||||
<_BaselinePackageReferenceWithVersion Remove="@(_BaselinePackageReferenceWithVersion)" Condition="'%(Id)' != '%(Identity)' " />
|
||||
<!-- Resolve references from BaselinePackageReference for servicing builds in corner cases. May be unused. -->
|
||||
<JoinItems Left="@(Reference)" Right="@(BaselinePackageReference)" LeftMetadata="*" RightMetadata="Version"
|
||||
Condition=" '$(IsServicingBuild)' == 'true' OR '$(UseLatestPackageReferences)' != 'true' ">
|
||||
<Output TaskParameter="JoinResult" ItemName="_BaselinePackageReferenceWithVersion" />
|
||||
</JoinItems>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Remove reference items that have been resolved to a BaselinePackageReference item. -->
|
||||
<PackageReference Include="@(_BaselinePackageReferenceWithVersion)" IsImplicitlyDefined="true" />
|
||||
<Reference Remove="@(_BaselinePackageReferenceWithVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- For PrivateAssets=All references, like .Sources packages, fallback to LatestPackageReferences. -->
|
||||
<_PrivatePackageReferenceWithVersion Include="@(Reference->WithMetadataValue('PrivateAssets', 'All'))">
|
||||
<Id>%(LatestPackageReference.Identity)</Id>
|
||||
<Version>%(LatestPackageReference.Version)</Version>
|
||||
</_PrivatePackageReferenceWithVersion>
|
||||
|
||||
<_PrivatePackageReferenceWithVersion Remove="@(_PrivatePackageReferenceWithVersion)" Condition="'%(Id)' != '%(Identity)' " />
|
||||
<!-- For PrivateAssets=All references, like .Sources packages, fallback to LatestPackageReferences. -->
|
||||
<JoinItems Left="@(Reference->WithMetadataValue('PrivateAssets', 'All'))"
|
||||
Right="@(LatestPackageReference)"
|
||||
LeftMetadata="*"
|
||||
RightMetadata="Version">
|
||||
<Output TaskParameter="JoinResult" ItemName="_PrivatePackageReferenceWithVersion" />
|
||||
</JoinItems>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Remove reference items that have been resolved to a LatestPackageReference item. -->
|
||||
<PackageReference Include="@(_PrivatePackageReferenceWithVersion)" IsImplicitlyDefined="true" />
|
||||
<Reference Remove="@(_PrivatePackageReferenceWithVersion)" />
|
||||
|
|
@ -287,4 +286,4 @@
|
|||
<Output TaskParameter="TargetOutputs" ItemName="_MSBuildProjectReferenceExistent" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
</Project>
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"sdk": {
|
||||
"version": "5.0.100-preview.2.20120.3"
|
||||
"version": "5.0.100-preview.5.20258.4"
|
||||
},
|
||||
"tools": {
|
||||
"dotnet": "5.0.100-preview.2.20120.3",
|
||||
"dotnet": "5.0.100-preview.5.20258.4",
|
||||
"runtimes": {
|
||||
"dotnet/x64": [
|
||||
"$(MicrosoftNETCoreAppInternalPackageVersion)"
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
},
|
||||
"msbuild-sdks": {
|
||||
"Yarn.MSBuild": "1.15.2",
|
||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20201.2",
|
||||
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20201.2"
|
||||
"Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20228.4",
|
||||
"Microsoft.DotNet.Helix.Sdk": "5.0.0-beta.20228.4"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,11 +51,11 @@
|
|||
<script src="~/js/site.js" asp-append-version="true"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"
|
||||
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk">
|
||||
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=">
|
||||
</script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
"library"
|
||||
],
|
||||
"homepage": "https://github.com/jquery/jquery-dist",
|
||||
"version": "2.2.0",
|
||||
"_release": "2.2.0",
|
||||
"version": "3.5.1",
|
||||
"_release": "3.5.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "2.2.0",
|
||||
"commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5"
|
||||
"tag": "3.5.1",
|
||||
"commit": "4c0e4becb8263bb5b3e6dadc448d8e7305ef8215"
|
||||
},
|
||||
"_source": "git://github.com/jquery/jquery-dist.git",
|
||||
"_target": "2.2.0",
|
||||
"_target": "3.5.1",
|
||||
"_originalSource": "jquery"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
2
src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.js
vendored
Normal file
2
src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -51,11 +51,11 @@
|
|||
<script src="~/js/site.js" asp-append-version="true"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"
|
||||
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk">
|
||||
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=">
|
||||
</script>
|
||||
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
"library"
|
||||
],
|
||||
"homepage": "https://github.com/jquery/jquery-dist",
|
||||
"version": "2.2.0",
|
||||
"_release": "2.2.0",
|
||||
"version": "3.5.1",
|
||||
"_release": "3.5.1",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "2.2.0",
|
||||
"commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5"
|
||||
"tag": "3.5.1",
|
||||
"commit": "4c0e4becb8263bb5b3e6dadc448d8e7305ef8215"
|
||||
},
|
||||
"_source": "git://github.com/jquery/jquery-dist.git",
|
||||
"_target": "2.2.0",
|
||||
"_target": "3.5.1",
|
||||
"_originalSource": "jquery"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
2
src/Azure/AzureAD/samples/AzureADSample/wwwroot/lib/jquery/dist/jquery.min.js
vendored
Normal file
2
src/Azure/AzureAD/samples/AzureADSample/wwwroot/lib/jquery/dist/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -6,7 +6,7 @@
|
|||
<PackageTags>wasm;javascript;interop</PackageTags>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<IsPackable>true</IsPackable>
|
||||
<IsShipping>true</IsShipping>
|
||||
<IsShipping>false</IsShipping>
|
||||
<HasReferenceAssembly>false</HasReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -333,11 +333,12 @@ namespace Ignitor
|
|||
return null;
|
||||
}
|
||||
|
||||
public async Task<bool> ConnectAsync(Uri uri, bool connectAutomatically = true)
|
||||
public async Task<bool> ConnectAsync(Uri uri, bool connectAutomatically = true, Action<HubConnectionBuilder, Uri>? configure = null)
|
||||
{
|
||||
var builder = new HubConnectionBuilder();
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IHubProtocol, IgnitorMessagePackHubProtocol>());
|
||||
builder.WithUrl(GetHubUrl(uri));
|
||||
var hubUrl = GetHubUrl(uri);
|
||||
builder.WithUrl(hubUrl);
|
||||
builder.ConfigureLogging(l =>
|
||||
{
|
||||
l.SetMinimumLevel(LogLevel.Trace);
|
||||
|
|
@ -347,6 +348,8 @@ namespace Ignitor
|
|||
}
|
||||
});
|
||||
|
||||
configure?.Invoke(builder, hubUrl);
|
||||
|
||||
_hubConnection = builder.Build();
|
||||
|
||||
HubConnection.On<int, string>("JS.AttachComponent", OnAttachComponent);
|
||||
|
|
@ -356,7 +359,19 @@ namespace Ignitor
|
|||
HubConnection.On<string>("JS.Error", OnError);
|
||||
HubConnection.Closed += OnClosedAsync;
|
||||
|
||||
await HubConnection.StartAsync(CancellationToken);
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
await HubConnection.StartAsync(CancellationToken);
|
||||
break;
|
||||
}
|
||||
catch
|
||||
{
|
||||
await Task.Delay(500);
|
||||
// Retry 10 times
|
||||
}
|
||||
}
|
||||
|
||||
if (!connectAutomatically)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -264,8 +264,14 @@ namespace Ignitor
|
|||
|
||||
case RenderTreeFrameType.ElementReferenceCapture:
|
||||
{
|
||||
// No action for reference captures.
|
||||
break;
|
||||
if (parent is ElementNode)
|
||||
{
|
||||
return 0; // A "capture" is a child in the diff, but has no node in the DOM
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception("Reference capture frames can only be children of element frames.");
|
||||
}
|
||||
}
|
||||
|
||||
case RenderTreeFrameType.Markup:
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ namespace Ignitor
|
|||
return DispatchEventCore(connection, Serialize(webEventDescriptor), Serialize(args));
|
||||
}
|
||||
|
||||
internal Task ClickAsync(HubConnection connection)
|
||||
public Task ClickAsync(HubConnection connection)
|
||||
{
|
||||
if (!Events.TryGetValue("click", out var clickEventDescriptor))
|
||||
{
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -2,6 +2,8 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
|
||||
|
|
@ -22,6 +24,32 @@ namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests
|
|||
{
|
||||
}
|
||||
|
||||
protected override async Task InitializeAsync()
|
||||
{
|
||||
await base.InitializeAsync();
|
||||
|
||||
var rootUri = ServerFixture.RootUri;
|
||||
var baseUri = new Uri(rootUri, "/subdir");
|
||||
var client = new HttpClient();
|
||||
for (var i = 0; i < 10; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var response = await client.GetAsync(baseUri + "/_negotiate");
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
await Task.Delay(500);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/19414")]
|
||||
public async Task CannotStartMultipleCircuits()
|
||||
|
|
|
|||
|
|
@ -7,6 +7,10 @@
|
|||
<PlatformManifestFileName>PlatformManifest.txt</PlatformManifestFileName>
|
||||
<PlatformManifestOutputPath>$(ArtifactsObjDir)$(PlatformManifestFileName)</PlatformManifestOutputPath>
|
||||
<DisablePubternalApiCheck>true</DisablePubternalApiCheck>
|
||||
|
||||
<!-- Platform manifest and package override metatdata -->
|
||||
<ReferencePackSharedFxVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0</ReferencePackSharedFxVersion>
|
||||
<ReferencePackSharedFxVersion Condition="'$(VersionSuffix)' != ''">$(ReferencePackSharedFxVersion)-$(VersionSuffix)</ReferencePackSharedFxVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -50,10 +50,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
<FrameworkListFileName>FrameworkList.xml</FrameworkListFileName>
|
||||
<FrameworkListOutputPath>$(ArtifactsObjDir)$(FrameworkListFileName)</FrameworkListOutputPath>
|
||||
|
||||
<!-- Platform manifest and package override metatdata -->
|
||||
<ReferencePackSharedFxVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0</ReferencePackSharedFxVersion>
|
||||
<ReferencePackSharedFxVersion Condition="'$(VersionSuffix)' != ''">$(ReferencePackSharedFxVersion)-$(VersionSuffix)</ReferencePackSharedFxVersion>
|
||||
|
||||
<!-- Runtime extensions transport paths -->
|
||||
<RuntimeExtensionsReferenceDirectory>$(PkgMicrosoft_Extensions_Internal_Transport)\ref\$(TargetFramework)\</RuntimeExtensionsReferenceDirectory>
|
||||
|
||||
|
|
@ -120,12 +116,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
<Output TaskParameter="JoinResult" ItemName="_ReferencedExtensionsRefAssemblies" />
|
||||
</JoinItems>
|
||||
|
||||
<!-- _DuplicatedExtensionsRefAssemblies represents ref assemblies that are present in Microsoft.Extensions.Internal.Transport package and also are built in this repo. -->
|
||||
<!-- This should be temporary while we migrate sources since there should be no duplication when sources are deleted from extensions. -->
|
||||
<JoinItems Left="@(_ReferencedExtensionsRefAssemblies)" Right="@(_ResolvedProjectReferencePaths)" LeftKey="Filename" RightKey="Filename" ItemSpecToUse="Left">
|
||||
<Output TaskParameter="JoinResult" ItemName="_DuplicatedExtensionsRefAssemblies" />
|
||||
</JoinItems>
|
||||
|
||||
<JoinItems Left="@(_ReferencedExtensionsRefAssemblies)" Right="@(ExternalAspNetCoreAppReference)" LeftKey="Filename" RightKey="Identity" ItemSpecToUse="Left">
|
||||
<Output TaskParameter="JoinResult" ItemName="_SelectedExtensionsRefs" />
|
||||
</JoinItems>
|
||||
|
|
@ -135,15 +125,12 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
</JoinItems>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Do not exclude the ref assemblies that we built in this repo if it's also included in Microsoft.Extensions.Internal.Transport -->
|
||||
<_ReferencedExtensionsRefAssembliesToExclude Include="@(_ReferencedExtensionsRefAssemblies)" Exclude="@(_DuplicatedExtensionsRefAssemblies)" />
|
||||
|
||||
<!-- Exclude transitive external dependencies that are not directly referenced by projects in AspNetCore or Extensions -->
|
||||
<AspNetCoreReferenceAssemblyPath
|
||||
Include="@(ReferencePathWithRefAssemblies)"
|
||||
Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' != 'false'"
|
||||
Exclude="
|
||||
@(_ReferencedExtensionsRefAssembliesToExclude);
|
||||
@(_ReferencedExtensionsRefAssemblies);
|
||||
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'Microsoft.NETCore.App.Ref'));
|
||||
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'System.Security.Cryptography.Pkcs'));
|
||||
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'System.Drawing.Common'));
|
||||
|
|
@ -172,7 +159,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
<_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition="!Exists('$(RuntimeExtensionsReferenceDirectory)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Extensions.Internal.Transport' AND '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " />
|
||||
|
||||
<!-- Pin version for extensions references -->
|
||||
<_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftInternalExtensionsRefsPackageOverrideVersion)')" />
|
||||
<_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftExtensionsInternalTransportPackageVersion)')" />
|
||||
|
||||
<_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(AspNetCoreReferenceAssemblyPath.IsReferenceAssembly)' == 'true' " />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -126,7 +126,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
|
||||
<Reference Include="microsoft.netcore.app.runtime.$(RuntimeIdentifier)" ExcludeAssets="All" PrivateAssets="All" />
|
||||
|
||||
<ProjectReference Condition="'$(BuildIisNativeProjects)' == 'true' AND '$(BuildNative)' != 'false' AND '$(VCTargetsPath)' != ''" Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj">
|
||||
<ProjectReference Condition=" '$(BuildIisNativeProjects)' == 'true' "
|
||||
Include="$(RepoRoot)src\Servers\IIS\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj">
|
||||
<SetPlatform>Platform=$(TargetArchitecture)</SetPlatform>
|
||||
<SetPlatform Condition="'$(TargetArchitecture)' == 'x86'">Platform=Win32</SetPlatform>
|
||||
<!-- Custom attribute used to distinguish managed from native references. -->
|
||||
|
|
@ -214,7 +215,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
|
||||
<Target Name="_WarnAboutUnbuiltNativeDependencies"
|
||||
BeforeTargets="Build"
|
||||
Condition=" '$(BuildIisNativeProjects)' == 'true' AND '$(BuildNative)' == 'false' ">
|
||||
Condition=" '$(BuildIisNativeProjects)' == 'true' AND !$(BuildNative) ">
|
||||
<Warning Text="This project has native dependencies which were not built. Without this, tests may not function correctly. Run `build.cmd -BuildNative -BuildManaged` to build both C# and C++." />
|
||||
</Target>
|
||||
|
||||
|
|
@ -496,7 +497,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
</Target>
|
||||
|
||||
<Target Name="IncludeVersionFile"
|
||||
DependsOnTargets="GenerateSharedFxVersionsFiles"
|
||||
DependsOnTargets="GenerateSharedFxVersionsFiles"
|
||||
BeforeTargets="_GetPackageFiles">
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -90,6 +90,28 @@
|
|||
<_Parameter2>@(_TargetingPackDependencies)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
|
||||
<AspNetCoreTargetingPackDependencies
|
||||
Include="@(_TargetingPackDependencies)"
|
||||
Condition="'%(_TargetingPackDependencies.ReferenceSourceTarget)' == 'ProjectReference'" />
|
||||
<RuntimeTargetingPackDependencies
|
||||
Include="@(_TargetingPackDependencies)"
|
||||
Exclude="@(AspNetCoreTargetingPackDependencies)" />
|
||||
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>AspNetCoreTargetingPackDependencies</_Parameter1>
|
||||
<_Parameter2>@(AspNetCoreTargetingPackDependencies->'%(FileName)')</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>RuntimeTargetingPackDependencies</_Parameter1>
|
||||
<_Parameter2>@(RuntimeTargetingPackDependencies->'%(FileName)')</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>ReferencePackSharedFxVersion</_Parameter1>
|
||||
<_Parameter2>$(ReferencePackSharedFxVersion)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>RepositoryCommit</_Parameter1>
|
||||
<_Parameter2>$(SourceRevisionId)</_Parameter2>
|
||||
|
|
|
|||
|
|
@ -32,6 +32,50 @@ namespace Microsoft.AspNetCore
|
|||
_isTargetingPackBuilding = bool.Parse(TestData.GetTestDataValue("IsTargetingPackBuilding"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void PackageOverridesContainsCorrectEntries()
|
||||
{
|
||||
if (!_isTargetingPackBuilding)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var packageOverridePath = Path.Combine(_targetingPackRoot, "data", "PackageOverrides.txt");
|
||||
|
||||
AssertEx.FileExists(packageOverridePath);
|
||||
|
||||
var packageOverrideFileLines = File.ReadAllLines(packageOverridePath);
|
||||
var runtimeDependencies = TestData.GetRuntimeTargetingPackDependencies()
|
||||
.Split(';', StringSplitOptions.RemoveEmptyEntries)
|
||||
.ToHashSet();
|
||||
var aspnetcoreDependencies = TestData.GetAspNetCoreTargetingPackDependencies()
|
||||
.Split(';', StringSplitOptions.RemoveEmptyEntries)
|
||||
.ToHashSet();
|
||||
|
||||
Assert.Equal(packageOverrideFileLines.Length, runtimeDependencies.Count + aspnetcoreDependencies.Count);
|
||||
|
||||
foreach (var entry in packageOverrideFileLines)
|
||||
{
|
||||
var packageOverrideParts = entry.Split("|");
|
||||
var packageName = packageOverrideParts[0];
|
||||
var packageVersion = packageOverrideParts[1];
|
||||
|
||||
if (runtimeDependencies.Contains(packageName))
|
||||
{
|
||||
Assert.Equal(TestData.GetMicrosoftNETCoreAppPackageVersion(), packageVersion);
|
||||
}
|
||||
else if (aspnetcoreDependencies.Contains(packageName))
|
||||
{
|
||||
Assert.Equal(TestData.GetReferencePackSharedFxVersion(), packageVersion);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.True(false, $"{packageName} is not a recognized aspNetCore or runtime dependency");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void AssembliesAreReferenceAssemblies()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ namespace Microsoft.AspNetCore
|
|||
|
||||
public static string GetMicrosoftNETCoreAppPackageVersion() => GetTestDataValue("MicrosoftNETCoreAppRuntimeVersion");
|
||||
|
||||
public static string GetReferencePackSharedFxVersion() => GetTestDataValue("ReferencePackSharedFxVersion");
|
||||
|
||||
public static string GetRepositoryCommit() => GetTestDataValue("RepositoryCommit");
|
||||
|
||||
public static string GetSharedFxRuntimeIdentifier() => GetTestDataValue("TargetRuntimeIdentifier");
|
||||
|
|
@ -21,6 +23,10 @@ namespace Microsoft.AspNetCore
|
|||
|
||||
public static string GetTargetingPackDependencies() => GetTestDataValue("TargetingPackDependencies");
|
||||
|
||||
public static string GetRuntimeTargetingPackDependencies() => GetTestDataValue("RuntimeTargetingPackDependencies");
|
||||
|
||||
public static string GetAspNetCoreTargetingPackDependencies() => GetTestDataValue("AspNetCoreTargetingPackDependencies");
|
||||
|
||||
public static bool VerifyAncmBinary() => string.Equals(GetTestDataValue("VerifyAncmBinary"), "true", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
public static string GetTestDataValue(string key)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Internal;
|
||||
using Xunit.Abstractions;
|
||||
|
|
@ -29,7 +30,7 @@ namespace InteropTests.Helpers
|
|||
_process.OutputDataReceived += Process_OutputDataReceived;
|
||||
_process.Start();
|
||||
|
||||
_processEx = new ProcessEx(output, _process);
|
||||
_processEx = new ProcessEx(output, _process, timeout: Timeout.InfiniteTimeSpan);
|
||||
|
||||
_startTcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,8 @@
|
|||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Internal;
|
||||
using Xunit.Abstractions;
|
||||
|
|
@ -19,7 +16,6 @@ namespace InteropTests.Helpers
|
|||
private readonly Process _process;
|
||||
private readonly ProcessEx _processEx;
|
||||
private readonly TaskCompletionSource<object> _startTcs;
|
||||
private readonly StringBuilder _consoleOut = new StringBuilder();
|
||||
private static readonly Regex NowListeningRegex = new Regex(@"^\s*Now listening on: .*:(?<port>\d*)$");
|
||||
|
||||
public string ServerPort { get; private set; }
|
||||
|
|
@ -38,7 +34,7 @@ namespace InteropTests.Helpers
|
|||
_process.OutputDataReceived += Process_OutputDataReceived;
|
||||
_process.Start();
|
||||
|
||||
_processEx = new ProcessEx(output, _process);
|
||||
_processEx = new ProcessEx(output, _process, Timeout.InfiniteTimeSpan);
|
||||
|
||||
_startTcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||
}
|
||||
|
|
@ -58,7 +54,6 @@ namespace InteropTests.Helpers
|
|||
var data = e.Data;
|
||||
if (data != null)
|
||||
{
|
||||
_consoleOut.AppendLine(data);
|
||||
var m = NowListeningRegex.Match(data);
|
||||
if (m.Success)
|
||||
{
|
||||
|
|
@ -74,19 +69,6 @@ namespace InteropTests.Helpers
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
var attributes = Assembly.GetExecutingAssembly()
|
||||
.GetCustomAttributes<AssemblyMetadataAttribute>();
|
||||
var serverLogPath = attributes.SingleOrDefault(a => a.Key == "ServerLogPath")?.Value;
|
||||
if (!string.IsNullOrEmpty(serverLogPath))
|
||||
{
|
||||
File.WriteAllText(serverLogPath, _consoleOut.ToString());
|
||||
}
|
||||
else
|
||||
{
|
||||
var logDir = Path.Combine(Directory.GetCurrentDirectory(), "artifacts", "logs");
|
||||
Directory.CreateDirectory(logDir);
|
||||
File.WriteAllText(Path.Combine(logDir, "InteropServer.log"), _consoleOut.ToString());
|
||||
}
|
||||
_processEx.Dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using InteropTests.Helpers;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// 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;
|
||||
|
|
@ -6,6 +6,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Routing.Patterns;
|
||||
using Microsoft.AspNetCore.Routing.Template;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Microsoft.AspNetCore.Routing.Matching
|
||||
|
|
@ -52,6 +53,9 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
_constraints = new List<KeyValuePair<string, IRouteConstraint>>();
|
||||
}
|
||||
|
||||
// Used in tests
|
||||
internal EndpointComparer Comparer => _comparer;
|
||||
|
||||
public override void AddEndpoint(RouteEndpoint endpoint)
|
||||
{
|
||||
_endpoints.Add(endpoint);
|
||||
|
|
@ -59,17 +63,11 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
public DfaNode BuildDfaTree(bool includeLabel = false)
|
||||
{
|
||||
// We build the tree by doing a BFS over the list of entries. This is important
|
||||
// because a 'parameter' node can also traverse the same paths that literal nodes
|
||||
// traverse. This means that we need to order the entries first, or else we will
|
||||
// miss possible edges in the DFA.
|
||||
_endpoints.Sort(_comparer);
|
||||
|
||||
// Since we're doing a BFS we will process each 'level' of the tree in stages
|
||||
// this list will hold the set of items we need to process at the current
|
||||
// stage.
|
||||
var work = new List<(RouteEndpoint endpoint, List<DfaNode> parents)>(_endpoints.Count);
|
||||
List<(RouteEndpoint endpoint, List<DfaNode> parents)> previousWork = null;
|
||||
var work = new List<(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents)>(_endpoints.Count);
|
||||
List<(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents)> previousWork = null;
|
||||
|
||||
var root = new DfaNode() { PathDepth = 0, Label = includeLabel ? "/" : null };
|
||||
|
||||
|
|
@ -79,21 +77,37 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
for (var i = 0; i < _endpoints.Count; i++)
|
||||
{
|
||||
var endpoint = _endpoints[i];
|
||||
maxDepth = Math.Max(maxDepth, endpoint.RoutePattern.PathSegments.Count);
|
||||
var precedenceDigit = GetPrecedenceDigitAtDepth(endpoint, depth: 0);
|
||||
work.Add((endpoint, precedenceDigit, new List<DfaNode>() { root, }));
|
||||
|
||||
work.Add((endpoint, new List<DfaNode>() { root, }));
|
||||
maxDepth = Math.Max(maxDepth, endpoint.RoutePattern.PathSegments.Count);
|
||||
}
|
||||
|
||||
var workCount = work.Count;
|
||||
|
||||
// Sort work at each level by *PRECEDENCE OF THE CURRENT SEGMENT*.
|
||||
//
|
||||
// We build the tree by doing a BFS over the list of entries. This is important
|
||||
// because a 'parameter' node can also traverse the same paths that literal nodes
|
||||
// traverse. This means that we need to order the entries first, or else we will
|
||||
// miss possible edges in the DFA.
|
||||
//
|
||||
// We'll sort the matches again later using the *real* comparer once building the
|
||||
// precedence part of the DFA is over.
|
||||
var precedenceDigitComparer = Comparer<(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents)>.Create((x, y) =>
|
||||
{
|
||||
return x.precedenceDigit.CompareTo(y.precedenceDigit);
|
||||
});
|
||||
|
||||
// Now we process the entries a level at a time.
|
||||
for (var depth = 0; depth <= maxDepth; depth++)
|
||||
{
|
||||
// As we process items, collect the next set of items.
|
||||
List<(RouteEndpoint endpoint, List<DfaNode> parents)> nextWork;
|
||||
List<(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents)> nextWork;
|
||||
var nextWorkCount = 0;
|
||||
if (previousWork == null)
|
||||
{
|
||||
nextWork = new List<(RouteEndpoint endpoint, List<DfaNode> parents)>();
|
||||
nextWork = new List<(RouteEndpoint endpoint, int precedenceDigit, List<DfaNode> parents)>();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -102,9 +116,12 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
nextWork = previousWork;
|
||||
}
|
||||
|
||||
// See comments on precedenceDigitComparer
|
||||
work.Sort(0, workCount, precedenceDigitComparer);
|
||||
|
||||
for (var i = 0; i < workCount; i++)
|
||||
{
|
||||
var (endpoint, parents) = work[i];
|
||||
var (endpoint, _, parents) = work[i];
|
||||
|
||||
if (!HasAdditionalRequiredSegments(endpoint, depth))
|
||||
{
|
||||
|
|
@ -122,7 +139,8 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
nextParents = nextWork[nextWorkCount].parents;
|
||||
nextParents.Clear();
|
||||
|
||||
nextWork[nextWorkCount] = (endpoint, nextParents);
|
||||
var nextPrecedenceDigit = GetPrecedenceDigitAtDepth(endpoint, depth + 1);
|
||||
nextWork[nextWorkCount] = (endpoint, nextPrecedenceDigit, nextParents);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -130,7 +148,8 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
// Add to the next set of work now so the list will be reused
|
||||
// even if there are no parents
|
||||
nextWork.Add((endpoint, nextParents));
|
||||
var nextPrecedenceDigit = GetPrecedenceDigitAtDepth(endpoint, depth + 1);
|
||||
nextWork.Add((endpoint, nextPrecedenceDigit, nextParents));
|
||||
}
|
||||
|
||||
var segment = GetCurrentSegment(endpoint, depth);
|
||||
|
|
@ -281,7 +300,7 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
nextParents.Add(next);
|
||||
}
|
||||
|
||||
private RoutePatternPathSegment GetCurrentSegment(RouteEndpoint endpoint, int depth)
|
||||
private static RoutePatternPathSegment GetCurrentSegment(RouteEndpoint endpoint, int depth)
|
||||
{
|
||||
if (depth < endpoint.RoutePattern.PathSegments.Count)
|
||||
{
|
||||
|
|
@ -302,6 +321,18 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
return null;
|
||||
}
|
||||
|
||||
private static int GetPrecedenceDigitAtDepth(RouteEndpoint endpoint, int depth)
|
||||
{
|
||||
var segment = GetCurrentSegment(endpoint, depth);
|
||||
if (segment is null)
|
||||
{
|
||||
// Treat "no segment" as high priority. it won't effect the algorithm, but we need to define a sort-order.
|
||||
return 0;
|
||||
}
|
||||
|
||||
return RoutePrecedence.ComputeInboundPrecedenceDigit(endpoint.RoutePattern, segment);
|
||||
}
|
||||
|
||||
public override Matcher Build()
|
||||
{
|
||||
#if DEBUG
|
||||
|
|
@ -670,6 +701,10 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
return;
|
||||
}
|
||||
|
||||
// We're done with the precedence based work. Sort the endpoints
|
||||
// before applying policies for simplicity in policy-related code.
|
||||
node.Matches.Sort(_comparer);
|
||||
|
||||
// Start with the current node as the root.
|
||||
var work = new List<DfaNode>() { node, };
|
||||
List<DfaNode> previousWork = null;
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ namespace Microsoft.AspNetCore.Routing.Template
|
|||
// see description on ComputeInboundPrecedenceDigit(TemplateSegment segment)
|
||||
//
|
||||
// With a RoutePattern, parameters with a required value are treated as a literal segment
|
||||
private static int ComputeInboundPrecedenceDigit(RoutePattern routePattern, RoutePatternPathSegment pathSegment)
|
||||
internal static int ComputeInboundPrecedenceDigit(RoutePattern routePattern, RoutePatternPathSegment pathSegment)
|
||||
{
|
||||
if (pathSegment.Parts.Count > 1)
|
||||
{
|
||||
|
|
@ -260,4 +260,4 @@ namespace Microsoft.AspNetCore.Routing.Template
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// 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;
|
||||
|
|
@ -459,6 +459,200 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
Assert.Same(catchAll, catchAll.CatchAll);
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/dotnet/aspnetcore/issues/16579
|
||||
[Fact]
|
||||
public void BuildDfaTree_MultipleEndpoint_ParameterAndCatchAll_OnSameNode_Order1()
|
||||
{
|
||||
// Arrange
|
||||
var builder = CreateDfaMatcherBuilder();
|
||||
|
||||
var endpoint1 = CreateEndpoint("a/{b}", order: 0);
|
||||
builder.AddEndpoint(endpoint1);
|
||||
|
||||
var endpoint2 = CreateEndpoint("a/{*b}", order: 1);
|
||||
builder.AddEndpoint(endpoint2);
|
||||
|
||||
// Act
|
||||
var root = builder.BuildDfaTree();
|
||||
|
||||
// Assert
|
||||
Assert.Null(root.Matches);
|
||||
Assert.Null(root.Parameters);
|
||||
|
||||
var next = Assert.Single(root.Literals);
|
||||
Assert.Equal("a", next.Key);
|
||||
|
||||
var a = next.Value;
|
||||
Assert.Same(endpoint2, Assert.Single(a.Matches));
|
||||
Assert.Null(a.Literals);
|
||||
|
||||
var b = a.Parameters;
|
||||
Assert.Collection(
|
||||
b.Matches,
|
||||
e => Assert.Same(endpoint1, e),
|
||||
e => Assert.Same(endpoint2, e));
|
||||
Assert.Null(b.Literals);
|
||||
Assert.Null(b.Parameters);
|
||||
Assert.NotNull(b.CatchAll);
|
||||
|
||||
var catchAll = b.CatchAll;
|
||||
Assert.Same(endpoint2, Assert.Single(catchAll.Matches));
|
||||
Assert.Null(catchAll.Literals);
|
||||
Assert.Same(catchAll, catchAll.Parameters);
|
||||
Assert.Same(catchAll, catchAll.CatchAll);
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/dotnet/aspnetcore/issues/16579
|
||||
[Fact]
|
||||
public void BuildDfaTree_MultipleEndpoint_ParameterAndCatchAll_OnSameNode_Order2()
|
||||
{
|
||||
// Arrange
|
||||
var builder = CreateDfaMatcherBuilder();
|
||||
|
||||
var endpoint1 = CreateEndpoint("a/{*b}", order: 0);
|
||||
builder.AddEndpoint(endpoint1);
|
||||
|
||||
var endpoint2 = CreateEndpoint("a/{b}", order: 1);
|
||||
builder.AddEndpoint(endpoint2);
|
||||
|
||||
// Act
|
||||
var root = builder.BuildDfaTree();
|
||||
|
||||
// Assert
|
||||
Assert.Null(root.Matches);
|
||||
Assert.Null(root.Parameters);
|
||||
|
||||
var next = Assert.Single(root.Literals);
|
||||
Assert.Equal("a", next.Key);
|
||||
|
||||
var a = next.Value;
|
||||
Assert.Same(endpoint1, Assert.Single(a.Matches));
|
||||
Assert.Null(a.Literals);
|
||||
|
||||
var b = a.Parameters;
|
||||
Assert.Collection(
|
||||
b.Matches,
|
||||
e => Assert.Same(endpoint1, e),
|
||||
e => Assert.Same(endpoint2, e));
|
||||
Assert.Null(b.Literals);
|
||||
Assert.Null(b.Parameters);
|
||||
Assert.NotNull(b.CatchAll);
|
||||
|
||||
var catchAll = b.CatchAll;
|
||||
Assert.Same(endpoint1, Assert.Single(catchAll.Matches));
|
||||
Assert.Null(catchAll.Literals);
|
||||
Assert.Same(catchAll, catchAll.Parameters);
|
||||
Assert.Same(catchAll, catchAll.CatchAll);
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/dotnet/aspnetcore/issues/18677
|
||||
[Fact]
|
||||
public void BuildDfaTree_MultipleEndpoint_CatchAllWithHigherPrecedenceThanParameter_Order1()
|
||||
{
|
||||
// Arrange
|
||||
var builder = CreateDfaMatcherBuilder();
|
||||
|
||||
var endpoint1 = CreateEndpoint("{a}/{b}", order: 0);
|
||||
builder.AddEndpoint(endpoint1);
|
||||
|
||||
var endpoint2 = CreateEndpoint("a/{*b}", order: 1);
|
||||
builder.AddEndpoint(endpoint2);
|
||||
|
||||
// Act
|
||||
var root = builder.BuildDfaTree();
|
||||
|
||||
// Assert
|
||||
Assert.Null(root.Matches);
|
||||
|
||||
var next = Assert.Single(root.Literals);
|
||||
Assert.Equal("a", next.Key);
|
||||
|
||||
var a1 = next.Value;
|
||||
Assert.Same(endpoint2, Assert.Single(a1.Matches));
|
||||
Assert.Null(a1.Literals);
|
||||
|
||||
var b1 = a1.Parameters;
|
||||
Assert.Collection(
|
||||
b1.Matches,
|
||||
e => Assert.Same(endpoint1, e),
|
||||
e => Assert.Same(endpoint2, e));
|
||||
Assert.Null(b1.Literals);
|
||||
Assert.Null(b1.Parameters);
|
||||
Assert.NotNull(b1.CatchAll);
|
||||
|
||||
var catchAll1 = b1.CatchAll;
|
||||
Assert.Same(endpoint2, Assert.Single(catchAll1.Matches));
|
||||
Assert.Null(catchAll1.Literals);
|
||||
Assert.Same(catchAll1, catchAll1.Parameters);
|
||||
Assert.Same(catchAll1, catchAll1.CatchAll);
|
||||
|
||||
var a2 = root.Parameters;
|
||||
Assert.Null(a2.Matches);
|
||||
Assert.Null(a2.Literals);
|
||||
|
||||
var b2 = a2.Parameters;
|
||||
Assert.Collection(
|
||||
b2.Matches,
|
||||
e => Assert.Same(endpoint1, e));
|
||||
Assert.Null(b2.Literals);
|
||||
Assert.Null(b2.Parameters);
|
||||
Assert.Null(b2.CatchAll);
|
||||
}
|
||||
|
||||
// Regression test for https://github.com/dotnet/aspnetcore/issues/18677
|
||||
[Fact]
|
||||
public void BuildDfaTree_MultipleEndpoint_CatchAllWithHigherPrecedenceThanParameter_Order2()
|
||||
{
|
||||
// Arrange
|
||||
var builder = CreateDfaMatcherBuilder();
|
||||
|
||||
var endpoint1 = CreateEndpoint("a/{*b}", order: 0);
|
||||
builder.AddEndpoint(endpoint1);
|
||||
|
||||
var endpoint2 = CreateEndpoint("{a}/{b}", order: 1);
|
||||
builder.AddEndpoint(endpoint2);
|
||||
|
||||
// Act
|
||||
var root = builder.BuildDfaTree();
|
||||
|
||||
// Assert
|
||||
Assert.Null(root.Matches);
|
||||
|
||||
var next = Assert.Single(root.Literals);
|
||||
Assert.Equal("a", next.Key);
|
||||
|
||||
var a1 = next.Value;
|
||||
Assert.Same(endpoint1, Assert.Single(a1.Matches));
|
||||
Assert.Null(a1.Literals);
|
||||
|
||||
var b1 = a1.Parameters;
|
||||
Assert.Collection(
|
||||
b1.Matches,
|
||||
e => Assert.Same(endpoint1, e),
|
||||
e => Assert.Same(endpoint2, e));
|
||||
Assert.Null(b1.Literals);
|
||||
Assert.Null(b1.Parameters);
|
||||
Assert.NotNull(b1.CatchAll);
|
||||
|
||||
var catchAll1 = b1.CatchAll;
|
||||
Assert.Same(endpoint1, Assert.Single(catchAll1.Matches));
|
||||
Assert.Null(catchAll1.Literals);
|
||||
Assert.Same(catchAll1, catchAll1.Parameters);
|
||||
Assert.Same(catchAll1, catchAll1.CatchAll);
|
||||
|
||||
var a2 = root.Parameters;
|
||||
Assert.Null(a2.Matches);
|
||||
Assert.Null(a2.Literals);
|
||||
|
||||
var b2 = a2.Parameters;
|
||||
Assert.Collection(
|
||||
b2.Matches,
|
||||
e => Assert.Same(endpoint2, e));
|
||||
Assert.Null(b2.Literals);
|
||||
Assert.Null(b2.Parameters);
|
||||
Assert.Null(b2.CatchAll);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildDfaTree_WithPolicies()
|
||||
{
|
||||
|
|
@ -729,6 +923,48 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
Assert.Null(a.PolicyEdges);
|
||||
}
|
||||
|
||||
// Verifies that we sort the endpoints before calling into policies.
|
||||
//
|
||||
// The builder uses a different sort order when building the tree, vs when building the policy nodes. Policy
|
||||
// nodes should see an "absolute" order.
|
||||
[Fact]
|
||||
public void BuildDfaTree_WithPolicies_SortedAccordingToScore()
|
||||
{
|
||||
// Arrange
|
||||
//
|
||||
// These cases where chosen where the absolute order incontrolled explicitly by setting .Order, but
|
||||
// the precedence of segments is different, so these will be sorted into different orders when building
|
||||
// the tree.
|
||||
var policies = new MatcherPolicy[]
|
||||
{
|
||||
new TestMetadata1MatcherPolicy(),
|
||||
new TestMetadata2MatcherPolicy(),
|
||||
};
|
||||
|
||||
var builder = CreateDfaMatcherBuilder(policies);
|
||||
|
||||
((TestMetadata1MatcherPolicy)policies[0]).OnGetEdges = VerifyOrder;
|
||||
((TestMetadata2MatcherPolicy)policies[1]).OnGetEdges = VerifyOrder;
|
||||
|
||||
var endpoint1 = CreateEndpoint("/a/{**b}", order: -1, metadata: new object[] { new TestMetadata1(0), new TestMetadata2(true), });
|
||||
builder.AddEndpoint(endpoint1);
|
||||
|
||||
var endpoint2 = CreateEndpoint("/a/{b}/{**c}", order: 0, metadata: new object[] { new TestMetadata1(1), new TestMetadata2(true), });
|
||||
builder.AddEndpoint(endpoint2);
|
||||
|
||||
var endpoint3 = CreateEndpoint("/a/b/{c}", order: 1, metadata: new object[] { new TestMetadata1(1), new TestMetadata2(false), });
|
||||
builder.AddEndpoint(endpoint3);
|
||||
|
||||
// Act & Assert
|
||||
_ = builder.BuildDfaTree();
|
||||
|
||||
void VerifyOrder(IReadOnlyList<Endpoint> endpoints)
|
||||
{
|
||||
// The list should already be in sorted order, every time build is called.
|
||||
Assert.Equal(endpoints, endpoints.OrderBy(e => e, builder.Comparer));
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BuildDfaTree_RequiredValues()
|
||||
{
|
||||
|
|
@ -1281,9 +1517,10 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
object defaults = null,
|
||||
object constraints = null,
|
||||
object requiredValues = null,
|
||||
int order = 0,
|
||||
params object[] metadata)
|
||||
{
|
||||
return EndpointFactory.CreateRouteEndpoint(template, defaults, constraints, requiredValues, metadata: metadata);
|
||||
return EndpointFactory.CreateRouteEndpoint(template, defaults, constraints, requiredValues, order: order, metadata: metadata);
|
||||
}
|
||||
|
||||
private class TestMetadata1
|
||||
|
|
@ -1306,6 +1543,8 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
public IComparer<Endpoint> Comparer => EndpointMetadataComparer<TestMetadata1>.Default;
|
||||
|
||||
public Action<IReadOnlyList<Endpoint>> OnGetEdges { get; set; }
|
||||
|
||||
public bool AppliesToEndpoints(IReadOnlyList<Endpoint> endpoints)
|
||||
{
|
||||
return endpoints.Any(e => e.Metadata.GetMetadata<TestMetadata1>() != null);
|
||||
|
|
@ -1318,6 +1557,7 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
public IReadOnlyList<PolicyNodeEdge> GetEdges(IReadOnlyList<Endpoint> endpoints)
|
||||
{
|
||||
OnGetEdges?.Invoke(endpoints);
|
||||
return endpoints
|
||||
.GroupBy(e => e.Metadata.GetMetadata<TestMetadata1>().State)
|
||||
.Select(g => new PolicyNodeEdge(g.Key, g.ToArray()))
|
||||
|
|
@ -1345,6 +1585,9 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
public IComparer<Endpoint> Comparer => EndpointMetadataComparer<TestMetadata2>.Default;
|
||||
|
||||
public Action<IReadOnlyList<Endpoint>> OnGetEdges { get; set; }
|
||||
|
||||
|
||||
public bool AppliesToEndpoints(IReadOnlyList<Endpoint> endpoints)
|
||||
{
|
||||
return endpoints.Any(e => e.Metadata.GetMetadata<TestMetadata2>() != null);
|
||||
|
|
@ -1357,6 +1600,7 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
|
||||
public IReadOnlyList<PolicyNodeEdge> GetEdges(IReadOnlyList<Endpoint> endpoints)
|
||||
{
|
||||
OnGetEdges?.Invoke(endpoints);
|
||||
return endpoints
|
||||
.GroupBy(e => e.Metadata.GetMetadata<TestMetadata2>().State)
|
||||
.Select(g => new PolicyNodeEdge(g.Key, g.ToArray()))
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNetCore.Routing.Matching
|
||||
|
|
@ -442,5 +443,98 @@ namespace Microsoft.AspNetCore.Routing.Matching
|
|||
// Assert
|
||||
MatcherAssert.AssertMatch(httpContext, expected, ignoreValues: true);
|
||||
}
|
||||
|
||||
// https://github.com/dotnet/aspnetcore/issues/16579
|
||||
[Fact]
|
||||
public virtual async Task Match_Regression_16579_Order1()
|
||||
{
|
||||
var endpoints = new RouteEndpoint[]
|
||||
{
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"{controller}/folder/{*path}",
|
||||
order: 0,
|
||||
defaults: new { controller = "File", action = "Folder", },
|
||||
requiredValues: new { controller = "File", }),
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"{controller}/{action}/{filename}",
|
||||
order: 1,
|
||||
defaults: new { controller = "File", action = "Index", },
|
||||
requiredValues: new { controller = "File", action = "Index", }),
|
||||
};
|
||||
|
||||
var expected = endpoints[0];
|
||||
|
||||
var matcher = CreateMatcher(endpoints);
|
||||
var httpContext = CreateContext("/file/folder/abc/abc");
|
||||
|
||||
// Act
|
||||
await matcher.MatchAsync(httpContext);
|
||||
|
||||
// Assert
|
||||
MatcherAssert.AssertMatch(httpContext, expected, ignoreValues: true);
|
||||
}
|
||||
|
||||
// https://github.com/dotnet/aspnetcore/issues/16579
|
||||
[Fact]
|
||||
public virtual async Task Match_Regression_16579_Order2()
|
||||
{
|
||||
var endpoints = new RouteEndpoint[]
|
||||
{
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"{controller}/{action}/{filename}",
|
||||
order: 0,
|
||||
defaults: new { controller = "File", action = "Index", },
|
||||
requiredValues: new { controller = "File", action = "Index", }),
|
||||
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"{controller}/folder/{*path}",
|
||||
order: 1,
|
||||
defaults: new { controller = "File", action = "Folder", },
|
||||
requiredValues: new { controller = "File", }),
|
||||
};
|
||||
|
||||
var expected = endpoints[1];
|
||||
|
||||
var matcher = CreateMatcher(endpoints);
|
||||
var httpContext = CreateContext("/file/folder/abc/abc");
|
||||
|
||||
// Act
|
||||
await matcher.MatchAsync(httpContext);
|
||||
|
||||
// Assert
|
||||
MatcherAssert.AssertMatch(httpContext, expected, ignoreValues: true);
|
||||
}
|
||||
|
||||
// https://github.com/dotnet/aspnetcore/issues/18677
|
||||
[Theory]
|
||||
[InlineData("/middleware", 1)]
|
||||
[InlineData("/middleware/test", 1)]
|
||||
[InlineData("/middleware/test1/test2", 1)]
|
||||
[InlineData("/bill/boga", 0)]
|
||||
public virtual async Task Match_Regression_18677(string path, int endpointIndex)
|
||||
{
|
||||
var endpoints = new RouteEndpoint[]
|
||||
{
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"{firstName}/{lastName}",
|
||||
order: 0,
|
||||
defaults: new { controller = "TestRoute", action = "Index", }),
|
||||
|
||||
EndpointFactory.CreateRouteEndpoint(
|
||||
"middleware/{**_}",
|
||||
order: 0),
|
||||
};
|
||||
|
||||
var expected = endpoints[endpointIndex];
|
||||
|
||||
var matcher = CreateMatcher(endpoints);
|
||||
var httpContext = CreateContext(path);
|
||||
|
||||
// Act
|
||||
await matcher.MatchAsync(httpContext);
|
||||
|
||||
// Assert
|
||||
MatcherAssert.AssertMatch(httpContext, expected, ignoreValues: true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,8 @@ namespace Microsoft.AspNetCore.WebUtilities
|
|||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||
public override System.Threading.Tasks.ValueTask DisposeAsync() { throw null; }
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||
public System.Threading.Tasks.Task DrainBufferAsync(System.IO.Pipelines.PipeWriter destination, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||
[System.Diagnostics.DebuggerStepThroughAttribute]
|
||||
public System.Threading.Tasks.Task DrainBufferAsync(System.IO.Stream destination, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { throw null; }
|
||||
public override void Flush() { }
|
||||
public override System.Threading.Tasks.Task FlushAsync(System.Threading.CancellationToken cancellationToken) { throw null; }
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ using System;
|
|||
using System.Buffers;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Pipelines;
|
||||
using System.Security.Cryptography;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Internal;
|
||||
|
|
@ -184,9 +186,31 @@ namespace Microsoft.AspNetCore.WebUtilities
|
|||
// unspooled content. Copy the FileStream content first when available.
|
||||
if (FileStream != null)
|
||||
{
|
||||
FileStream.Position = 0;
|
||||
await FileStream.CopyToAsync(destination, cancellationToken);
|
||||
// We make a new stream for async reads from disk and async writes to the destination
|
||||
await using var readStream = new FileStream(FileStream.Name, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite, bufferSize: 1, useAsync: true);
|
||||
|
||||
await readStream.CopyToAsync(destination, cancellationToken);
|
||||
|
||||
// This is created with delete on close
|
||||
await FileStream.DisposeAsync();
|
||||
FileStream = null;
|
||||
}
|
||||
|
||||
await PagedByteBuffer.MoveToAsync(destination, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task DrainBufferAsync(PipeWriter destination, CancellationToken cancellationToken = default)
|
||||
{
|
||||
// When not null, FileStream always has "older" spooled content. The PagedByteBuffer always has "newer"
|
||||
// unspooled content. Copy the FileStream content first when available.
|
||||
if (FileStream != null)
|
||||
{
|
||||
// We make a new stream for async reads from disk and async writes to the destination
|
||||
await using var readStream = new FileStream(FileStream.Name, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite, bufferSize: 1, useAsync: true);
|
||||
|
||||
await readStream.CopyToAsync(destination, cancellationToken);
|
||||
|
||||
// This is created with delete on close
|
||||
await FileStream.DisposeAsync();
|
||||
FileStream = null;
|
||||
}
|
||||
|
|
@ -227,10 +251,10 @@ namespace Microsoft.AspNetCore.WebUtilities
|
|||
FileStream = new FileStream(
|
||||
tempFileName,
|
||||
FileMode.Create,
|
||||
FileAccess.ReadWrite,
|
||||
FileShare.Delete,
|
||||
FileAccess.Write,
|
||||
FileShare.Delete | FileShare.ReadWrite,
|
||||
bufferSize: 1,
|
||||
FileOptions.Asynchronous | FileOptions.SequentialScan | FileOptions.DeleteOnClose);
|
||||
FileOptions.SequentialScan | FileOptions.DeleteOnClose);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System;
|
|||
using System.Buffers;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Pipelines;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
|
@ -84,6 +85,23 @@ namespace Microsoft.AspNetCore.WebUtilities
|
|||
ClearBuffers();
|
||||
}
|
||||
|
||||
public async Task MoveToAsync(PipeWriter writer, CancellationToken cancellationToken)
|
||||
{
|
||||
ThrowIfDisposed();
|
||||
|
||||
for (var i = 0; i < Pages.Count; i++)
|
||||
{
|
||||
var page = Pages[i];
|
||||
var length = (i == Pages.Count - 1) ?
|
||||
_currentPageIndex :
|
||||
page.Length;
|
||||
|
||||
await writer.WriteAsync(page.AsMemory(0, length), cancellationToken);
|
||||
}
|
||||
|
||||
ClearBuffers();
|
||||
}
|
||||
|
||||
public async Task MoveToAsync(Stream stream, CancellationToken cancellationToken)
|
||||
{
|
||||
ThrowIfDisposed();
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using System.IO;
|
|||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Xunit;
|
||||
|
||||
namespace Microsoft.AspNetCore.WebUtilities
|
||||
|
|
@ -383,9 +384,9 @@ namespace Microsoft.AspNetCore.WebUtilities
|
|||
|
||||
private static byte[] ReadFileContent(FileStream fileStream)
|
||||
{
|
||||
fileStream.Position = 0;
|
||||
var fs = new FileStream(fileStream.Name, FileMode.Open, FileAccess.Read, FileShare.Delete | FileShare.ReadWrite);
|
||||
using var memoryStream = new MemoryStream();
|
||||
fileStream.CopyTo(memoryStream);
|
||||
fs.CopyTo(memoryStream);
|
||||
|
||||
return memoryStream.ToArray();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"ConnectionStrings": {
|
||||
"DefaultConnection": "DataSource=app.db"
|
||||
"DefaultConnection": "DataSource=app.db;Cache=Shared"
|
||||
},
|
||||
"IdentityServer": {
|
||||
"Clients": {
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@
|
|||
<comment>Error for duplicate roles</comment>
|
||||
</data>
|
||||
<data name="DuplicateUserName" xml:space="preserve">
|
||||
<value>User name '{0}' is already taken.</value>
|
||||
<value>Username '{0}' is already taken.</value>
|
||||
<comment>Error for duplicate user names</comment>
|
||||
</data>
|
||||
<data name="InvalidEmail" xml:space="preserve">
|
||||
|
|
@ -162,7 +162,7 @@
|
|||
<comment>Error when a token is not recognized</comment>
|
||||
</data>
|
||||
<data name="InvalidUserName" xml:space="preserve">
|
||||
<value>User name '{0}' is invalid, can only contain letters or digits.</value>
|
||||
<value>Username '{0}' is invalid, can only contain letters or digits.</value>
|
||||
<comment>User names can only contain letters or digits</comment>
|
||||
</data>
|
||||
<data name="LoginAlreadyAssociated" xml:space="preserve">
|
||||
|
|
@ -317,4 +317,4 @@
|
|||
<value>No IPersonalDataProtector service was registered, this is required when ProtectPersonalData = true.</value>
|
||||
<comment>Error when there is no IPersonalDataProtector</comment>
|
||||
</data>
|
||||
</root>
|
||||
</root>
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
<PropertyGroup>
|
||||
<Description>Shared test suite for Asp.Net Identity Core store implementations.</Description>
|
||||
<TargetFramework>$(DefaultNetCoreTargetFramework)</TargetFramework>
|
||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||
<GenerateDocumentationFile>false</GenerateDocumentationFile>
|
||||
<PackageTags>aspnetcore;identity;membership</PackageTags>
|
||||
<IsTestProject>false</IsTestProject>
|
||||
<IsPackable>true</IsPackable>
|
||||
<IsPackable>false</IsPackable>
|
||||
<HasReferenceAssembly>false</HasReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
@ -15,6 +15,7 @@
|
|||
<Reference Include="Microsoft.Extensions.Configuration" />
|
||||
<Reference Include="Microsoft.Extensions.DependencyInjection" />
|
||||
<Reference Include="Microsoft.Extensions.Logging" />
|
||||
<Reference Include="Microsoft.AspNetCore.Testing" />
|
||||
<Reference Include="xunit.assert" />
|
||||
<Reference Include="xunit.extensibility.core" />
|
||||
<Reference Include="xunit.analyzers" PrivateAssets="All" />
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using System.Linq;
|
|||
using System.Linq.Expressions;
|
||||
using System.Security.Claims;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Testing;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Xunit;
|
||||
|
|
@ -1469,6 +1470,7 @@ namespace Microsoft.AspNetCore.Identity.Test
|
|||
/// </summary>
|
||||
/// <returns>Task</returns>
|
||||
[Fact]
|
||||
[QuarantinedTest]
|
||||
public async Task CanVerifyPhoneNumber()
|
||||
{
|
||||
var manager = CreateManager();
|
||||
|
|
|
|||
|
|
@ -63,11 +63,11 @@
|
|||
<script src="~/Identity/js/site.js" asp-append-version="true"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"
|
||||
asp-fallback-src="~/Identity/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
|
||||
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=">
|
||||
</script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"
|
||||
asp-fallback-src="~/Identity/lib/bootstrap/dist/js/bootstrap.min.js"
|
||||
|
|
|
|||
|
|
@ -74,11 +74,11 @@
|
|||
<script src="~/Identity/js/site.js" asp-append-version="true"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"
|
||||
asp-fallback-src="~/Identity/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
|
||||
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=">
|
||||
</script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-src="~/Identity/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
License notice for jQuery 3.3.1
|
||||
License notice for jQuery 3.5.1
|
||||
-------------------------------
|
||||
Copyright JS Foundation and other contributors, https://js.foundation/
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -56,11 +56,11 @@
|
|||
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
|
||||
</environment>
|
||||
<environment exclude="Development">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"
|
||||
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
|
||||
asp-fallback-test="window.jQuery"
|
||||
crossorigin="anonymous"
|
||||
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
|
||||
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=">
|
||||
</script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
|
||||
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -46,7 +46,7 @@ namespace MusicStore
|
|||
// Add EF services to the services container
|
||||
// Add EF services to the services container
|
||||
services.AddDbContext<MusicStoreContext>(options =>
|
||||
options.UseSqlite("Data Source=MusicStore.db"));
|
||||
options.UseSqlite("Data Source=MusicStore.db;Cache=Shared"));
|
||||
|
||||
// Add Identity services to the services container
|
||||
services.AddIdentity<ApplicationUser, IdentityRole>()
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ namespace MusicStore
|
|||
|
||||
// Add EF services to the services container
|
||||
services.AddDbContext<MusicStoreContext>(options =>
|
||||
options.UseSqlite("Data Source=MusicStore.db"));
|
||||
options.UseSqlite("Data Source=MusicStore.db;Cache=Shared"));
|
||||
|
||||
// Add Identity services to the services container
|
||||
services.AddIdentity<ApplicationUser, IdentityRole>()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
/// <reference path="../wwwroot/Scripts/jquery.signalR-2.0.1.js" />
|
||||
/// <reference path="../wwwroot/Scripts/jquery.validate.js" />
|
||||
/// <reference path="../wwwroot/Scripts/jquery.validate.unobtrusive.js" />
|
||||
/// <reference path="../wwwroot/Scripts/jquery-2.0.3.js" />
|
||||
/// <reference path="../wwwroot/Scripts/jquery-3.5.1.js" />
|
||||
/// <reference path="../wwwroot/Scripts/modernizr-2.6.2.js" />
|
||||
/// <reference path="../wwwroot/Scripts/respond.js" />
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace MusicStore
|
|||
|
||||
// Add EF services to the services container
|
||||
services.AddDbContext<MusicStoreContext>(options =>
|
||||
options.UseSqlite("Data Source=MusicStore.db"));
|
||||
options.UseSqlite("Data Source=MusicStore.db;Cache=Shared"));
|
||||
|
||||
// Add Identity services to the services container
|
||||
services.AddIdentity<ApplicationUser, IdentityRole>()
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ namespace MusicStore
|
|||
|
||||
// Add EF services to the services container
|
||||
services.AddDbContext<MusicStoreContext>(options =>
|
||||
options.UseSqlite("Data Source=MusicStore.db"));
|
||||
options.UseSqlite("Data Source=MusicStore.db;Cache=Shared"));
|
||||
|
||||
// Add Identity services to the services container
|
||||
services.AddIdentity<ApplicationUser, IdentityRole>()
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue