diff --git a/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml b/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml index cbf529762baaf96ce130af75992b099190ac9ac8..76ae879fb7c3af687fcecf817a614777708b9dfe 100644 --- a/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml +++ b/.azure/pipelines/azure-pipelines-mirror-within-azdo.yml @@ -26,7 +26,7 @@ jobs: - job: Merge_Azure_DevOps_Branches enableSBOM: false pool: - name: NetCore1ESPool-Internal + name: NetCore1ESPool-Svc-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 variables: - name: WorkingDirectoryName diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 6aa298db30d2a06d3a84ee5df2c91df04dbb6f61..6db014e61013f70a0432ca077f48557e5a6d0bf7 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -771,7 +771,7 @@ stages: - Helix_x64 - Source_Build_Managed pool: - name: NetCore1ESPool-Internal + name: NetCore1ESPool-Svc-Internal demands: ImageOverride -equals Build.Server.Amd64.VS2019 publishUsingPipelines: ${{ variables._PublishUsingPipelines }} enablePublishBuildArtifacts: true # publish artifacts/log files @@ -809,7 +809,7 @@ stages: - Helix_x64 - Source_Build_Managed pool: - name: NetCore1ESPool-Internal + name: NetCore1ESPool-Svc-Internal # Visual Studio Enterprise - no BuildTools agents exist internally and job must run on Windows demands: ImageOverride -equals Build.Server.Amd64.VS2019 steps: diff --git a/.azure/pipelines/components-e2e-tests.yml b/.azure/pipelines/components-e2e-tests.yml index ef9c8dcf87b361ed2e88e2ac4161a0d15ea84026..7badaca296c6e1e79e32362e192225e7f82a1cda 100644 --- a/.azure/pipelines/components-e2e-tests.yml +++ b/.azure/pipelines/components-e2e-tests.yml @@ -40,7 +40,7 @@ jobs: displayName: Update submodules - script: ./restore.sh displayName: Run restore.sh - - script: npm install --prefix ./src/Components/test/E2ETest + - script: yarn install --frozen-lockfile --cwd ./src/Components/test/E2ETest displayName: NPM install - script: .dotnet/dotnet build ./src/Components/test/E2ETest -c $(BuildConfiguration) --no-restore displayName: Build diff --git a/.azure/pipelines/helix-matrix.yml b/.azure/pipelines/helix-matrix.yml index 0684583d13b5ffb8e1040afd4bb75487fbb96067..c59b65b32b448ea6f0a59477e18b28d75dad8416 100644 --- a/.azure/pipelines/helix-matrix.yml +++ b/.azure/pipelines/helix-matrix.yml @@ -11,8 +11,8 @@ schedules: - cron: "0 9 * * *" branches: include: - - release/5.0 - release/6.0 + - release/7.0 always: false variables: diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index 6ff0a2f58fa831ff08811f51432434525851406a..125b09ce792abd32f1e028e59c561ba355b10c3c 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -112,17 +112,17 @@ jobs: vmImage: ubuntu-18.04 ${{ if or(eq(parameters.useHostedUbuntu, false), and(eq(variables['System.TeamProject'], 'internal'), notin(variables['Build.Reason'], 'Manual', 'PullRequest', 'Schedule'))) }}: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Public + name: NetCore1ESPool-Svc-Public demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Internal + name: NetCore1ESPool-Svc-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 ${{ if eq(parameters.agentOs, 'Windows') }}: ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: NetCore1ESPool-Public + name: NetCore1ESPool-Svc-Public demands: ImageOverride -equals 1es-windows-2022-open ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: NetCore1ESPool-Internal + name: NetCore1ESPool-Svc-Internal # Visual Studio Enterprise - contains some stuff, like SQL Server and IIS Express, that we use for testing demands: ImageOverride -equals 1es-windows-2022 ${{ if ne(parameters.container, '') }}: diff --git a/.azure/pipelines/quarantined-pr.yml b/.azure/pipelines/quarantined-pr.yml index 2a49290726e8f04addec281c05a4374b5c433d3f..2d6ce7f2446fac4b88563c08c517af02bc48dd4e 100644 --- a/.azure/pipelines/quarantined-pr.yml +++ b/.azure/pipelines/quarantined-pr.yml @@ -3,14 +3,14 @@ # # Configure which branches trigger builds -# We want to run quarantined tests on release/5.0 and main as well as on PRs +# We want to run quarantined tests on release/6.0 and later as well as on PRs trigger: batch: true branches: include: - main - - release/5.0 - release/6.0 + - release/7.0 # Run PR validation on branches that include Helix tests pr: @@ -18,8 +18,8 @@ pr: branches: include: - main - - release/5.0 - release/6.0 + - release/7.0 paths: exclude: - .github/* diff --git a/.config/CredScanSuppressions.json b/.config/CredScanSuppressions.json index ea43bfc6d78690a6930138cf46af8d2ee2f76151..e8a273dff47b88254ae45a48635ada39aa19e45c 100644 --- a/.config/CredScanSuppressions.json +++ b/.config/CredScanSuppressions.json @@ -122,11 +122,11 @@ "_justification": "Legitimate UT certificate file with private key" }, { - "file": "\\src\\SignalR\\clients\\ts\\FunctionalTests\\testCert.pfx", + "file": "\\src\\SignalR\\common\\Shared\\testCert.pfx", "_justification": "Legitimate UT certificate file with private key" }, { - "file": "\\src\\SignalR\\clients\\ts\\FunctionalTests\\testCertECC.pfx", + "file": "\\src\\SignalR\\common\\Shared\\testCertECC.pfx", "_justification": "Legitimate UT certificate file with private key" }, { diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 902c5873c32555a6674693ad1f90b0147f825d5b..0f21612d6844b832c8679f161d57eb1967d7370a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -62,4 +62,15 @@ updates: labels: - area-infrastructure target-branch: "release/6.0" - + - package-ecosystem: "gitsubmodule" + directory: "/" + schedule: + interval: "monthly" + allow: + - dependency-type: "all" + commit-message: + prefix: "[release/7.0] " + include: scope + labels: + - area-infrastructure + target-branch: "release/7.0" diff --git a/.github/fabricbot.json b/.github/fabricbot.json index a5d3f7b365b38691a56ecc2f0100608e184f3342..d47ee7332c6d62a0837825ba4fa962029729bfdd 100644 --- a/.github/fabricbot.json +++ b/.github/fabricbot.json @@ -2562,7 +2562,7 @@ { "name": "addMilestone", "parameters": { - "milestoneName": "7.0-rc1" + "milestoneName": "7.0-rc2" } } ], diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 44cf62961b0161fbd946afccc9037f7bc6e50ae1..31bb6776797540993b9ae898338928c657931459 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -9,310 +9,315 @@ --> <Dependencies> <ProductDependencies> - <Dependency Name="dotnet-ef" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="dotnet-ef" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.Relational" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.Tools" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="7.0.0-rc.1.22426.7"> + <Dependency Name="Microsoft.EntityFrameworkCore.Design" Version="7.0.0-rc.2.22426.1"> <Uri>https://github.com/dotnet/efcore</Uri> - <Sha>dc0f3e8ef10eb1464b27f0fd4704f53c01226036</Sha> + <Sha>ee3306963ba1bb79355a3c166b6074753cc8717d</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Caching.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Caching.Memory" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.Binder" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.CommandLine" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.FileExtensions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.Ini" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.Json" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.UserSecrets" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration.Xml" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Configuration" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Configuration" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.DependencyInjection" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.FileProviders.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.FileProviders.Composite" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.FileProviders.Physical" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.HostFactoryResolver.Sources" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Hosting" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Hosting" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Http" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Http" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.Configuration" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.Console" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.Console" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.Debug" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.EventSource" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.EventLog" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging.TraceSource" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Logging" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Logging" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Options.DataAnnotations" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Options" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Options" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.Primitives" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.Primitives" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Internal.Runtime.AspNetCore.Transport" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Internal.Runtime.AspNetCore.Transport" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> <Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-externals" Version="7.0.0-alpha.1.22409.1"> <Uri>https://github.com/dotnet/source-build-externals</Uri> <Sha>ee790b0477953dd30ea83e0e47af909a04fd0ca3</Sha> <SourceBuild RepoName="source-build-externals" ManagedOnly="true" /> </Dependency> - <Dependency Name="System.Configuration.ConfigurationManager" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Configuration.ConfigurationManager" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Diagnostics.DiagnosticSource" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Diagnostics.DiagnosticSource" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Diagnostics.EventLog" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Diagnostics.EventLog" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.DirectoryServices.Protocols" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.DirectoryServices.Protocols" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.IO.Pipelines" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.IO.Pipelines" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Net.Http.Json" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Net.Http.Json" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Net.Http.WinHttpHandler" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Net.Http.WinHttpHandler" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Reflection.Metadata" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Reflection.Metadata" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Resources.Extensions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Resources.Extensions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Security.Cryptography.Pkcs" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Security.Cryptography.Pkcs" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Security.Cryptography.Xml" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Security.Cryptography.Xml" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Security.Permissions" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Security.Permissions" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.ServiceProcess.ServiceController" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.ServiceProcess.ServiceController" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Text.Encodings.Web" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Text.Encodings.Web" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Text.Json" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Text.Json" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Threading.AccessControl" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Threading.AccessControl" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Threading.Channels" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Threading.Channels" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="System.Threading.RateLimiting" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="System.Threading.RateLimiting" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.Extensions.DependencyModel" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.Extensions.DependencyModel" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.NETCore.App.Ref" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NETCore.App.Ref" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.NET.Runtime.MonoAOTCompiler.Task" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NET.Runtime.MonoAOTCompiler.Task" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.NET.Runtime.WebAssembly.Sdk" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NET.Runtime.WebAssembly.Sdk" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</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="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NETCore.App.Runtime.win-x64" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NETCore.App.Runtime.AOT.win-x64.Cross.browser-wasm" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NETCore.BrowserDebugHost.Transport" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> + </Dependency> + <Dependency Name="Microsoft.Web.Xdt" Version="7.0.0-preview.22423.2"> + <Uri>https://github.com/dotnet/xdt</Uri> + <Sha>9a1c3e1b7f0c8763d4c96e593961a61a72679a7b</Sha> + <SourceBuild RepoName="xdt" ManagedOnly="true" /> </Dependency> </ProductDependencies> <ToolsetDependencies> <!-- Listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 --> - <Dependency Name="Microsoft.NETCore.Platforms" Version="7.0.0-rc.1.22426.10"> + <Dependency Name="Microsoft.NETCore.Platforms" Version="7.0.0-rc.2.22425.17"> <Uri>https://github.com/dotnet/runtime</Uri> - <Sha>06aceb7015f3bd2ff019ef5920d2354eb2ea2c92</Sha> + <Sha>01708feb89968aa919f20d4c84c03ac480803b34</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22418.4"> + <Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="7.0.0-beta.22423.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>0c027eede69ba22bafca9a1955f1e00848655ece</Sha> + <Sha>e2fcd61c25c61c6ad0c2a649c8f257077fb1fd88</Sha> <SourceBuild RepoName="arcade" ManagedOnly="true" /> </Dependency> - <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="7.0.0-beta.22418.4"> + <Dependency Name="Microsoft.DotNet.Build.Tasks.Installers" Version="7.0.0-beta.22423.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>0c027eede69ba22bafca9a1955f1e00848655ece</Sha> + <Sha>e2fcd61c25c61c6ad0c2a649c8f257077fb1fd88</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="7.0.0-beta.22418.4"> + <Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="7.0.0-beta.22423.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>0c027eede69ba22bafca9a1955f1e00848655ece</Sha> + <Sha>e2fcd61c25c61c6ad0c2a649c8f257077fb1fd88</Sha> </Dependency> - <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="7.0.0-beta.22418.4"> + <Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="7.0.0-beta.22423.1"> <Uri>https://github.com/dotnet/arcade</Uri> - <Sha>0c027eede69ba22bafca9a1955f1e00848655ece</Sha> + <Sha>e2fcd61c25c61c6ad0c2a649c8f257077fb1fd88</Sha> </Dependency> </ToolsetDependencies> </Dependencies> diff --git a/eng/Versions.props b/eng/Versions.props index 670596524b700ef8a514a061c6755c03eabdb392..23b9a355d19ccc7cd3340a47b0839c7452d5a104 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -9,7 +9,7 @@ <AspNetCoreMajorVersion>7</AspNetCoreMajorVersion> <AspNetCoreMinorVersion>0</AspNetCoreMinorVersion> <AspNetCorePatchVersion>0</AspNetCorePatchVersion> - <PreReleaseVersionIteration>1</PreReleaseVersionIteration> + <PreReleaseVersionIteration>2</PreReleaseVersionIteration> <ValidateBaseline>true</ValidateBaseline> <!-- When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages @@ -50,8 +50,6 @@ <UsingToolNetFrameworkReferenceAssemblies Condition="'$(OS)' != 'Windows_NT'">true</UsingToolNetFrameworkReferenceAssemblies> <!-- Disable XLIFF tasks --> <UsingToolXliff>false</UsingToolXliff> - <!-- Use custom version of Roslyn Compiler --> - <UsingToolMicrosoftNetCompilers>true</UsingToolMicrosoftNetCompilers> </PropertyGroup> <!-- @@ -65,82 +63,84 @@ --> <PropertyGroup Label="Automated"> <!-- Packages from dotnet/runtime --> - <MicrosoftExtensionsDependencyModelVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsDependencyModelVersion> - <MicrosoftNETCoreAppRefVersion>7.0.0-rc.1.22426.10</MicrosoftNETCoreAppRefVersion> - <MicrosoftNETCoreAppRuntimewinx64Version>7.0.0-rc.1.22426.10</MicrosoftNETCoreAppRuntimewinx64Version> - <MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>7.0.0-rc.1.22426.10</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion> - <MicrosoftNETRuntimeWebAssemblySdkVersion>7.0.0-rc.1.22426.10</MicrosoftNETRuntimeWebAssemblySdkVersion> - <MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>7.0.0-rc.1.22426.10</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion> - <MicrosoftNETCoreBrowserDebugHostTransportVersion>7.0.0-rc.1.22426.10</MicrosoftNETCoreBrowserDebugHostTransportVersion> - <MicrosoftExtensionsCachingAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsCachingAbstractionsVersion> - <MicrosoftExtensionsCachingMemoryVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsCachingMemoryVersion> - <MicrosoftExtensionsConfigurationAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationAbstractionsVersion> - <MicrosoftExtensionsConfigurationBinderVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationBinderVersion> - <MicrosoftExtensionsConfigurationCommandLineVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationCommandLineVersion> - <MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion> - <MicrosoftExtensionsConfigurationFileExtensionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationFileExtensionsVersion> - <MicrosoftExtensionsConfigurationIniVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationIniVersion> - <MicrosoftExtensionsConfigurationJsonVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationJsonVersion> - <MicrosoftExtensionsConfigurationVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationVersion> - <MicrosoftExtensionsConfigurationUserSecretsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationUserSecretsVersion> - <MicrosoftExtensionsConfigurationXmlVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsConfigurationXmlVersion> - <MicrosoftExtensionsDependencyInjectionAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsDependencyInjectionAbstractionsVersion> - <MicrosoftExtensionsDependencyInjectionVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsDependencyInjectionVersion> - <MicrosoftExtensionsFileProvidersAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsFileProvidersAbstractionsVersion> - <MicrosoftExtensionsFileProvidersCompositeVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsFileProvidersCompositeVersion> - <MicrosoftExtensionsFileProvidersPhysicalVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsFileProvidersPhysicalVersion> - <MicrosoftExtensionsFileSystemGlobbingVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsFileSystemGlobbingVersion> - <MicrosoftExtensionsHostFactoryResolverSourcesVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsHostFactoryResolverSourcesVersion> - <MicrosoftExtensionsHostingAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsHostingAbstractionsVersion> - <MicrosoftExtensionsHostingVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsHostingVersion> - <MicrosoftExtensionsHttpVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsHttpVersion> - <MicrosoftExtensionsLoggingAbstractionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingAbstractionsVersion> - <MicrosoftExtensionsLoggingConfigurationVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingConfigurationVersion> - <MicrosoftExtensionsLoggingConsoleVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingConsoleVersion> - <MicrosoftExtensionsLoggingDebugVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingDebugVersion> - <MicrosoftExtensionsLoggingEventSourceVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingEventSourceVersion> - <MicrosoftExtensionsLoggingEventLogVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingEventLogVersion> - <MicrosoftExtensionsLoggingVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingVersion> - <MicrosoftExtensionsLoggingTraceSourceVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsLoggingTraceSourceVersion> - <MicrosoftExtensionsOptionsConfigurationExtensionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsOptionsConfigurationExtensionsVersion> - <MicrosoftExtensionsOptionsDataAnnotationsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsOptionsDataAnnotationsVersion> - <MicrosoftExtensionsOptionsVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsOptionsVersion> - <MicrosoftExtensionsPrimitivesVersion>7.0.0-rc.1.22426.10</MicrosoftExtensionsPrimitivesVersion> - <MicrosoftInternalRuntimeAspNetCoreTransportVersion>7.0.0-rc.1.22426.10</MicrosoftInternalRuntimeAspNetCoreTransportVersion> - <SystemConfigurationConfigurationManagerVersion>7.0.0-rc.1.22426.10</SystemConfigurationConfigurationManagerVersion> - <SystemDiagnosticsDiagnosticSourceVersion>7.0.0-rc.1.22426.10</SystemDiagnosticsDiagnosticSourceVersion> - <SystemDiagnosticsEventLogVersion>7.0.0-rc.1.22426.10</SystemDiagnosticsEventLogVersion> - <SystemDirectoryServicesProtocolsVersion>7.0.0-rc.1.22426.10</SystemDirectoryServicesProtocolsVersion> - <SystemIOPipelinesVersion>7.0.0-rc.1.22426.10</SystemIOPipelinesVersion> - <SystemNetHttpJsonVersion>7.0.0-rc.1.22426.10</SystemNetHttpJsonVersion> - <SystemNetHttpWinHttpHandlerVersion>7.0.0-rc.1.22426.10</SystemNetHttpWinHttpHandlerVersion> - <SystemReflectionMetadataVersion>7.0.0-rc.1.22426.10</SystemReflectionMetadataVersion> - <SystemResourcesExtensionsVersion>7.0.0-rc.1.22426.10</SystemResourcesExtensionsVersion> - <SystemSecurityCryptographyPkcsVersion>7.0.0-rc.1.22426.10</SystemSecurityCryptographyPkcsVersion> - <SystemSecurityCryptographyXmlVersion>7.0.0-rc.1.22426.10</SystemSecurityCryptographyXmlVersion> - <SystemSecurityPermissionsVersion>7.0.0-rc.1.22426.10</SystemSecurityPermissionsVersion> - <SystemServiceProcessServiceControllerVersion>7.0.0-rc.1.22426.10</SystemServiceProcessServiceControllerVersion> - <SystemTextEncodingsWebVersion>7.0.0-rc.1.22426.10</SystemTextEncodingsWebVersion> - <SystemTextJsonVersion>7.0.0-rc.1.22426.10</SystemTextJsonVersion> - <SystemThreadingAccessControlVersion>7.0.0-rc.1.22426.10</SystemThreadingAccessControlVersion> - <SystemThreadingChannelsVersion>7.0.0-rc.1.22426.10</SystemThreadingChannelsVersion> - <SystemThreadingRateLimitingVersion>7.0.0-rc.1.22426.10</SystemThreadingRateLimitingVersion> + <MicrosoftExtensionsDependencyModelVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsDependencyModelVersion> + <MicrosoftNETCoreAppRefVersion>7.0.0-rc.2.22425.17</MicrosoftNETCoreAppRefVersion> + <MicrosoftNETCoreAppRuntimewinx64Version>7.0.0-rc.2.22425.17</MicrosoftNETCoreAppRuntimewinx64Version> + <MicrosoftNETRuntimeMonoAOTCompilerTaskVersion>7.0.0-rc.2.22425.17</MicrosoftNETRuntimeMonoAOTCompilerTaskVersion> + <MicrosoftNETRuntimeWebAssemblySdkVersion>7.0.0-rc.2.22425.17</MicrosoftNETRuntimeWebAssemblySdkVersion> + <MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion>7.0.0-rc.2.22425.17</MicrosoftNETCoreAppRuntimeAOTwinx64CrossbrowserwasmVersion> + <MicrosoftNETCoreBrowserDebugHostTransportVersion>7.0.0-rc.2.22425.17</MicrosoftNETCoreBrowserDebugHostTransportVersion> + <MicrosoftExtensionsCachingAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsCachingAbstractionsVersion> + <MicrosoftExtensionsCachingMemoryVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsCachingMemoryVersion> + <MicrosoftExtensionsConfigurationAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationAbstractionsVersion> + <MicrosoftExtensionsConfigurationBinderVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationBinderVersion> + <MicrosoftExtensionsConfigurationCommandLineVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationCommandLineVersion> + <MicrosoftExtensionsConfigurationEnvironmentVariablesVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationEnvironmentVariablesVersion> + <MicrosoftExtensionsConfigurationFileExtensionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationFileExtensionsVersion> + <MicrosoftExtensionsConfigurationIniVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationIniVersion> + <MicrosoftExtensionsConfigurationJsonVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationJsonVersion> + <MicrosoftExtensionsConfigurationVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationVersion> + <MicrosoftExtensionsConfigurationUserSecretsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationUserSecretsVersion> + <MicrosoftExtensionsConfigurationXmlVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsConfigurationXmlVersion> + <MicrosoftExtensionsDependencyInjectionAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsDependencyInjectionAbstractionsVersion> + <MicrosoftExtensionsDependencyInjectionVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsDependencyInjectionVersion> + <MicrosoftExtensionsFileProvidersAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsFileProvidersAbstractionsVersion> + <MicrosoftExtensionsFileProvidersCompositeVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsFileProvidersCompositeVersion> + <MicrosoftExtensionsFileProvidersPhysicalVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsFileProvidersPhysicalVersion> + <MicrosoftExtensionsFileSystemGlobbingVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsFileSystemGlobbingVersion> + <MicrosoftExtensionsHostFactoryResolverSourcesVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsHostFactoryResolverSourcesVersion> + <MicrosoftExtensionsHostingAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsHostingAbstractionsVersion> + <MicrosoftExtensionsHostingVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsHostingVersion> + <MicrosoftExtensionsHttpVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsHttpVersion> + <MicrosoftExtensionsLoggingAbstractionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingAbstractionsVersion> + <MicrosoftExtensionsLoggingConfigurationVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingConfigurationVersion> + <MicrosoftExtensionsLoggingConsoleVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingConsoleVersion> + <MicrosoftExtensionsLoggingDebugVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingDebugVersion> + <MicrosoftExtensionsLoggingEventSourceVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingEventSourceVersion> + <MicrosoftExtensionsLoggingEventLogVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingEventLogVersion> + <MicrosoftExtensionsLoggingVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingVersion> + <MicrosoftExtensionsLoggingTraceSourceVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsLoggingTraceSourceVersion> + <MicrosoftExtensionsOptionsConfigurationExtensionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsOptionsConfigurationExtensionsVersion> + <MicrosoftExtensionsOptionsDataAnnotationsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsOptionsDataAnnotationsVersion> + <MicrosoftExtensionsOptionsVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsOptionsVersion> + <MicrosoftExtensionsPrimitivesVersion>7.0.0-rc.2.22425.17</MicrosoftExtensionsPrimitivesVersion> + <MicrosoftInternalRuntimeAspNetCoreTransportVersion>7.0.0-rc.2.22425.17</MicrosoftInternalRuntimeAspNetCoreTransportVersion> + <SystemConfigurationConfigurationManagerVersion>7.0.0-rc.2.22425.17</SystemConfigurationConfigurationManagerVersion> + <SystemDiagnosticsDiagnosticSourceVersion>7.0.0-rc.2.22425.17</SystemDiagnosticsDiagnosticSourceVersion> + <SystemDiagnosticsEventLogVersion>7.0.0-rc.2.22425.17</SystemDiagnosticsEventLogVersion> + <SystemDirectoryServicesProtocolsVersion>7.0.0-rc.2.22425.17</SystemDirectoryServicesProtocolsVersion> + <SystemIOPipelinesVersion>7.0.0-rc.2.22425.17</SystemIOPipelinesVersion> + <SystemNetHttpJsonVersion>7.0.0-rc.2.22425.17</SystemNetHttpJsonVersion> + <SystemNetHttpWinHttpHandlerVersion>7.0.0-rc.2.22425.17</SystemNetHttpWinHttpHandlerVersion> + <SystemReflectionMetadataVersion>7.0.0-rc.2.22425.17</SystemReflectionMetadataVersion> + <SystemResourcesExtensionsVersion>7.0.0-rc.2.22425.17</SystemResourcesExtensionsVersion> + <SystemSecurityCryptographyPkcsVersion>7.0.0-rc.2.22425.17</SystemSecurityCryptographyPkcsVersion> + <SystemSecurityCryptographyXmlVersion>7.0.0-rc.2.22425.17</SystemSecurityCryptographyXmlVersion> + <SystemSecurityPermissionsVersion>7.0.0-rc.2.22425.17</SystemSecurityPermissionsVersion> + <SystemServiceProcessServiceControllerVersion>7.0.0-rc.2.22425.17</SystemServiceProcessServiceControllerVersion> + <SystemTextEncodingsWebVersion>7.0.0-rc.2.22425.17</SystemTextEncodingsWebVersion> + <SystemTextJsonVersion>7.0.0-rc.2.22425.17</SystemTextJsonVersion> + <SystemThreadingAccessControlVersion>7.0.0-rc.2.22425.17</SystemThreadingAccessControlVersion> + <SystemThreadingChannelsVersion>7.0.0-rc.2.22425.17</SystemThreadingChannelsVersion> + <SystemThreadingRateLimitingVersion>7.0.0-rc.2.22425.17</SystemThreadingRateLimitingVersion> <!-- Only listed explicitly to workaround https://github.com/dotnet/cli/issues/10528 --> - <MicrosoftNETCorePlatformsVersion>7.0.0-rc.1.22426.10</MicrosoftNETCorePlatformsVersion> + <MicrosoftNETCorePlatformsVersion>7.0.0-rc.2.22425.17</MicrosoftNETCorePlatformsVersion> <!-- Packages from dotnet/efcore --> - <dotnetefVersion>7.0.0-rc.1.22426.7</dotnetefVersion> - <MicrosoftEntityFrameworkCoreInMemoryVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreInMemoryVersion> - <MicrosoftEntityFrameworkCoreRelationalVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreRelationalVersion> - <MicrosoftEntityFrameworkCoreSqliteVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreSqliteVersion> - <MicrosoftEntityFrameworkCoreSqlServerVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreSqlServerVersion> - <MicrosoftEntityFrameworkCoreToolsVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreToolsVersion> - <MicrosoftEntityFrameworkCoreVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreVersion> - <MicrosoftEntityFrameworkCoreDesignVersion>7.0.0-rc.1.22426.7</MicrosoftEntityFrameworkCoreDesignVersion> + <dotnetefVersion>7.0.0-rc.2.22426.1</dotnetefVersion> + <MicrosoftEntityFrameworkCoreInMemoryVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreInMemoryVersion> + <MicrosoftEntityFrameworkCoreRelationalVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreRelationalVersion> + <MicrosoftEntityFrameworkCoreSqliteVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreSqliteVersion> + <MicrosoftEntityFrameworkCoreSqlServerVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreSqlServerVersion> + <MicrosoftEntityFrameworkCoreToolsVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreToolsVersion> + <MicrosoftEntityFrameworkCoreVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreVersion> + <MicrosoftEntityFrameworkCoreDesignVersion>7.0.0-rc.2.22426.1</MicrosoftEntityFrameworkCoreDesignVersion> <!-- Packages from dotnet/arcade --> - <MicrosoftDotNetBuildTasksInstallersVersion>7.0.0-beta.22418.4</MicrosoftDotNetBuildTasksInstallersVersion> - <MicrosoftDotNetBuildTasksTemplatingVersion>7.0.0-beta.22418.4</MicrosoftDotNetBuildTasksTemplatingVersion> + <MicrosoftDotNetBuildTasksInstallersVersion>7.0.0-beta.22423.1</MicrosoftDotNetBuildTasksInstallersVersion> + <MicrosoftDotNetBuildTasksTemplatingVersion>7.0.0-beta.22423.1</MicrosoftDotNetBuildTasksTemplatingVersion> <!-- Packages from dotnet/source-build-externals --> <MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion>7.0.0-alpha.1.22409.1</MicrosoftSourceBuildIntermediatesourcebuildexternalsVersion> + <!-- Packages from dotnet/xdt --> + <MicrosoftWebXdtVersion>7.0.0-preview.22423.2</MicrosoftWebXdtVersion> </PropertyGroup> <!-- @@ -198,10 +198,6 @@ framework in current .NET SDKs. --> <MicrosoftNETTestSdkVersion>17.1.0-preview-20211109-03</MicrosoftNETTestSdkVersion> - <!-- - Use a compiler new enough to use required keyword - --> - <MicrosoftNetCompilersToolsetVersion>4.4.0-1.22358.14</MicrosoftNetCompilersToolsetVersion> <!-- Versions of Microsoft.CodeAnalysis packages referenced by analyzers shipped in the SDK. This need to be pinned since they're used in 3.1 apps and need to be loadable in VS 2019. @@ -223,7 +219,6 @@ <MicrosoftOwinSecurityCookiesVersion>3.0.1</MicrosoftOwinSecurityCookiesVersion> <MicrosoftOwinTestingVersion>3.0.1</MicrosoftOwinTestingVersion> <MicrosoftWebAdministrationVersion>11.1.0</MicrosoftWebAdministrationVersion> - <MicrosoftWebXdtVersion>1.4.0</MicrosoftWebXdtVersion> <SystemIdentityModelTokensJwtVersion>6.21.0</SystemIdentityModelTokensJwtVersion> <NuGetPackagingVersion>6.2.0</NuGetPackagingVersion> <NuGetVersioningVersion>6.2.0</NuGetVersioningVersion> diff --git a/eng/common/generate-locproject.ps1 b/eng/common/generate-locproject.ps1 index 846e7950ce945bfd02a30bed5a31cda8d70ec72a..bab18543d6c4aa35dcb9a9b667c9f93d106e94a7 100644 --- a/eng/common/generate-locproject.ps1 +++ b/eng/common/generate-locproject.ps1 @@ -62,7 +62,7 @@ $locJson = @{ $outputPath = "$(($_.DirectoryName | Resolve-Path -Relative) + "\")" $continue = $true foreach ($exclusion in $exclusions.Exclusions) { - if ($outputPath.Contains($exclusion)) + if ($_.FullName.Contains($exclusion)) { $continue = $false } @@ -98,7 +98,7 @@ $locJson = @{ $outputPath = "$($_.Directory.FullName | Resolve-Path -Relative)\" $continue = $true foreach ($exclusion in $exclusions.Exclusions) { - if ($outputPath.Contains($exclusion)) + if ($_.FullName.Contains($exclusion)) { $continue = $false } diff --git a/eng/targets/Npm.Common.targets b/eng/targets/Npm.Common.targets index b236c04baceb5cecdf52c83401c9079f4203efa2..97f7c9cf4dca6af3fb12ceca6e76ac65f91c4f0d 100644 --- a/eng/targets/Npm.Common.targets +++ b/eng/targets/Npm.Common.targets @@ -42,7 +42,10 @@ <Target Name="Restore"> <Telemetry EventName="NETCORE_ENGINEERING_TELEMETRY" EventData="Category=Restore" /> <Message Importance="High" Text="Running yarn install on $(MSBuildProjectFullPath)" /> - <Yarn Command="install --mutex network $(InstallArgs)" StandardOutputImportance="High" StandardErrorImportance="High" IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" /> + <Yarn Command="install --mutex network $(InstallArgs) --frozen-lockfile" + StandardOutputImportance="High" + StandardErrorImportance="High" + IgnoreStandardErrorWarningFormat="$(IgnoreYarnWarnings)" /> </Target> <Target Name="PrepareForBuild"> diff --git a/global.json b/global.json index 0fdd54aa35afec8a0baaf4f12af1923e955ab31c..bb86c8ffedb2de5f6ebf502a5e8d471fcea05daf 100644 --- a/global.json +++ b/global.json @@ -27,7 +27,7 @@ }, "msbuild-sdks": { "Yarn.MSBuild": "1.22.10", - "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22418.4", - "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22418.4" + "Microsoft.DotNet.Arcade.Sdk": "7.0.0-beta.22423.1", + "Microsoft.DotNet.Helix.Sdk": "7.0.0-beta.22423.1" } } diff --git a/src/Framework/test/SharedFxTests.cs b/src/Framework/test/SharedFxTests.cs index d3f1e4b6e54805dfde096a028462eaad97f4742b..1892275bddd25654c14a646d47016484e5a53072 100644 --- a/src/Framework/test/SharedFxTests.cs +++ b/src/Framework/test/SharedFxTests.cs @@ -159,32 +159,38 @@ public class SharedFxTests [Fact] public void SharedFrameworkAssembliesHaveExpectedAssemblyVersions() { - // Only test managed assemblies from dotnet/aspnetcore. + // Assemblies from this repo and dotnet/runtime don't always have identical assembly versions. var repoAssemblies = TestData.GetSharedFrameworkBinariesFromRepo() .Split(';', StringSplitOptions.RemoveEmptyEntries) .ToHashSet(); var versionStringWithoutPrereleaseTag = TestData.GetMicrosoftNETCoreAppPackageVersion().Split('-', 2)[0]; var version = Version.Parse(versionStringWithoutPrereleaseTag); + var aspnetcoreVersionString = TestData.GetSharedFxVersion().Split('-', 2)[0]; + var aspnetcoreVersion = Version.Parse(aspnetcoreVersionString); + var dlls = Directory.GetFiles(_sharedFxRoot, "*.dll", SearchOption.AllDirectories); Assert.NotEmpty(dlls); Assert.All(dlls, path => { - // Unlike dotnet/aspnetcore, dotnet/runtime varies the assembly version while in servicing. - if (!repoAssemblies.Contains(Path.GetFileNameWithoutExtension(path))) + var name = Path.GetFileNameWithoutExtension(path); + if (string.Equals(name, "aspnetcorev2_inprocess", StringComparison.Ordinal)) { + // Skip our native assembly. return; } + var expectedVersion = repoAssemblies.Contains(name) ? aspnetcoreVersion : version; + using var fileStream = File.OpenRead(path); using var peReader = new PEReader(fileStream, PEStreamOptions.Default); var reader = peReader.GetMetadataReader(MetadataReaderOptions.Default); var assemblyDefinition = reader.GetAssemblyDefinition(); // Assembly versions should all match Major.Minor.0.0 - Assert.Equal(version.Major, assemblyDefinition.Version.Major); - Assert.Equal(version.Minor, assemblyDefinition.Version.Minor); + Assert.Equal(expectedVersion.Major, assemblyDefinition.Version.Major); + Assert.Equal(expectedVersion.Minor, assemblyDefinition.Version.Minor); Assert.Equal(0, assemblyDefinition.Version.Build); Assert.Equal(0, assemblyDefinition.Version.Revision); }); diff --git a/src/Framework/test/TargetingPackTests.cs b/src/Framework/test/TargetingPackTests.cs index 3fccd1febce3b18a851e50545812064d1329582e..76be10479af33dc46f14d4730036093c03c57810 100644 --- a/src/Framework/test/TargetingPackTests.cs +++ b/src/Framework/test/TargetingPackTests.cs @@ -38,7 +38,7 @@ public class TargetingPackTests var actualAssemblies = Directory.GetFiles(Path.Combine(_targetingPackRoot, "ref", _targetingPackTfm), "*.dll") .Select(Path.GetFileNameWithoutExtension) .ToHashSet(); - var listedTargetingPackAssemblies = TestData.ListedTargetingPackAssemblies.Keys.ToHashSet(); + var listedTargetingPackAssemblies = TestData.ListedTargetingPackAssemblies.ToHashSet(); _output.WriteLine("==== actual assemblies ===="); _output.WriteLine(string.Join('\n', actualAssemblies.OrderBy(i => i))); @@ -60,11 +60,25 @@ public class TargetingPackTests [Fact] public void RefAssembliesHaveExpectedAssemblyVersions() { + // Assemblies from this repo and dotnet/runtime don't always have identical assembly versions. + var repoAssemblies = TestData.GetAspNetCoreTargetingPackDependencies() + .Split(';', StringSplitOptions.RemoveEmptyEntries) + .ToHashSet(); + + var versionStringWithoutPrereleaseTag = TestData.GetMicrosoftNETCoreAppPackageVersion().Split('-', 2)[0]; + var version = Version.Parse(versionStringWithoutPrereleaseTag); + var aspnetcoreVersionString = TestData.GetSharedFxVersion().Split('-', 2)[0]; + var aspnetcoreVersion = Version.Parse(aspnetcoreVersionString); + IEnumerable<string> dlls = Directory.GetFiles(Path.Combine(_targetingPackRoot, "ref", _targetingPackTfm), "*.dll", SearchOption.AllDirectories); Assert.NotEmpty(dlls); Assert.All(dlls, path => { + var expectedVersion = repoAssemblies.Contains(Path.GetFileNameWithoutExtension(path)) ? + aspnetcoreVersion : + version; + var fileName = Path.GetFileNameWithoutExtension(path); var assemblyName = AssemblyName.GetAssemblyName(path); using var fileStream = File.OpenRead(path); @@ -72,8 +86,11 @@ public class TargetingPackTests var reader = peReader.GetMetadataReader(MetadataReaderOptions.Default); var assemblyDefinition = reader.GetAssemblyDefinition(); - TestData.ListedTargetingPackAssemblies.TryGetValue(fileName, out var expectedVersion); - Assert.Equal(expectedVersion, assemblyDefinition.Version.ToString()); + // Assembly versions should all match Major.Minor.0.0 + Assert.Equal(expectedVersion.Major, assemblyDefinition.Version.Major); + Assert.Equal(expectedVersion.Minor, assemblyDefinition.Version.Minor); + Assert.Equal(0, assemblyDefinition.Version.Build); + Assert.Equal(0, assemblyDefinition.Version.Revision); }); } diff --git a/src/Framework/test/TestData.cs b/src/Framework/test/TestData.cs index 12423f63cebaa7b866619dddd65b7196a13acb3e..2763c05a50489235151ecc6e96701cde7113a650 100644 --- a/src/Framework/test/TestData.cs +++ b/src/Framework/test/TestData.cs @@ -9,7 +9,7 @@ public static class TestData { public static List<string> ListedSharedFxAssemblies; - public static SortedDictionary<string, string> ListedTargetingPackAssemblies; + public static List<string> ListedTargetingPackAssemblies; static TestData() { @@ -153,141 +153,141 @@ public static class TestData "System.Threading.RateLimiting", }; - ListedTargetingPackAssemblies = new SortedDictionary<string, string> + ListedTargetingPackAssemblies = new List<string> { - { "Microsoft.AspNetCore", "7.0.0.0" }, - { "Microsoft.AspNetCore.Antiforgery", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authentication", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authentication.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authentication.Cookies", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authentication.Core", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authentication.OAuth", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authorization", "7.0.0.0" }, - { "Microsoft.AspNetCore.Authorization.Policy", "7.0.0.0" }, - { "Microsoft.AspNetCore.Components", "7.0.0.0" }, - { "Microsoft.AspNetCore.Components.Authorization", "7.0.0.0" }, - { "Microsoft.AspNetCore.Components.Forms", "7.0.0.0" }, - { "Microsoft.AspNetCore.Components.Server", "7.0.0.0" }, - { "Microsoft.AspNetCore.Components.Web", "7.0.0.0" }, - { "Microsoft.AspNetCore.Connections.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.CookiePolicy", "7.0.0.0" }, - { "Microsoft.AspNetCore.Cors", "7.0.0.0" }, - { "Microsoft.AspNetCore.Cryptography.Internal", "7.0.0.0" }, - { "Microsoft.AspNetCore.Cryptography.KeyDerivation", "7.0.0.0" }, - { "Microsoft.AspNetCore.DataProtection", "7.0.0.0" }, - { "Microsoft.AspNetCore.DataProtection.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.DataProtection.Extensions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Diagnostics", "7.0.0.0" }, - { "Microsoft.AspNetCore.Diagnostics.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Diagnostics.HealthChecks", "7.0.0.0" }, - { "Microsoft.AspNetCore.HostFiltering", "7.0.0.0" }, - { "Microsoft.AspNetCore.Hosting", "7.0.0.0" }, - { "Microsoft.AspNetCore.Hosting.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Hosting.Server.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Html.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Connections", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Connections.Common", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Extensions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Features", "7.0.0.0" }, - { "Microsoft.AspNetCore.Http.Results", "7.0.0.0" }, - { "Microsoft.AspNetCore.HttpLogging", "7.0.0.0" }, - { "Microsoft.AspNetCore.HttpOverrides", "7.0.0.0" }, - { "Microsoft.AspNetCore.HttpsPolicy", "7.0.0.0" }, - { "Microsoft.AspNetCore.Identity", "7.0.0.0" }, - { "Microsoft.AspNetCore.Localization", "7.0.0.0" }, - { "Microsoft.AspNetCore.Localization.Routing", "7.0.0.0" }, - { "Microsoft.AspNetCore.Metadata", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.ApiExplorer", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Core", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Cors", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.DataAnnotations", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Formatters.Json", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Formatters.Xml", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Localization", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.Razor", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.RazorPages", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.TagHelpers", "7.0.0.0" }, - { "Microsoft.AspNetCore.Mvc.ViewFeatures", "7.0.0.0" }, - { "Microsoft.AspNetCore.OutputCaching", "7.0.0.0" }, - { "Microsoft.AspNetCore.RateLimiting", "7.0.0.0" }, - { "Microsoft.AspNetCore.Razor", "7.0.0.0" }, - { "Microsoft.AspNetCore.Razor.Runtime", "7.0.0.0" }, - { "Microsoft.AspNetCore.RequestDecompression", "7.0.0.0" }, - { "Microsoft.AspNetCore.ResponseCaching", "7.0.0.0" }, - { "Microsoft.AspNetCore.ResponseCaching.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.ResponseCompression", "7.0.0.0" }, - { "Microsoft.AspNetCore.Rewrite", "7.0.0.0" }, - { "Microsoft.AspNetCore.Routing", "7.0.0.0" }, - { "Microsoft.AspNetCore.Routing.Abstractions", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.HttpSys", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.IIS", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.IISIntegration", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.Kestrel", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.Kestrel.Core", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic", "7.0.0.0" }, - { "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets", "7.0.0.0" }, - { "Microsoft.AspNetCore.Session", "7.0.0.0" }, - { "Microsoft.AspNetCore.SignalR", "7.0.0.0" }, - { "Microsoft.AspNetCore.SignalR.Common", "7.0.0.0" }, - { "Microsoft.AspNetCore.SignalR.Core", "7.0.0.0" }, - { "Microsoft.AspNetCore.SignalR.Protocols.Json", "7.0.0.0" }, - { "Microsoft.AspNetCore.StaticFiles", "7.0.0.0" }, - { "Microsoft.AspNetCore.WebSockets", "7.0.0.0" }, - { "Microsoft.AspNetCore.WebUtilities", "7.0.0.0" }, - { "Microsoft.Extensions.Caching.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Caching.Memory", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.Binder", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.CommandLine", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.EnvironmentVariables", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.FileExtensions", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.Ini", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.Json", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.KeyPerFile", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.UserSecrets", "7.0.0.0" }, - { "Microsoft.Extensions.Configuration.Xml", "7.0.0.0" }, - { "Microsoft.Extensions.DependencyInjection", "7.0.0.0" }, - { "Microsoft.Extensions.DependencyInjection.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Diagnostics.HealthChecks", "7.0.0.0" }, - { "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.FileProviders.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.FileProviders.Composite", "7.0.0.0" }, - { "Microsoft.Extensions.FileProviders.Embedded", "7.0.0.0" }, - { "Microsoft.Extensions.FileProviders.Physical", "7.0.0.0" }, - { "Microsoft.Extensions.FileSystemGlobbing", "7.0.0.0" }, - { "Microsoft.Extensions.Features", "7.0.0.0" }, - { "Microsoft.Extensions.Hosting", "7.0.0.0" }, - { "Microsoft.Extensions.Hosting.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Http", "7.0.0.0" }, - { "Microsoft.Extensions.Identity.Core", "7.0.0.0" }, - { "Microsoft.Extensions.Identity.Stores", "7.0.0.0" }, - { "Microsoft.Extensions.Localization", "7.0.0.0" }, - { "Microsoft.Extensions.Localization.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Logging", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.Abstractions", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.Configuration", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.Console", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.Debug", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.EventLog", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.EventSource", "7.0.0.0" }, - { "Microsoft.Extensions.Logging.TraceSource", "7.0.0.0" }, - { "Microsoft.Extensions.ObjectPool", "7.0.0.0" }, - { "Microsoft.Extensions.Options", "7.0.0.0" }, - { "Microsoft.Extensions.Options.ConfigurationExtensions", "7.0.0.0" }, - { "Microsoft.Extensions.Options.DataAnnotations", "7.0.0.0" }, - { "Microsoft.Extensions.Primitives", "7.0.0.0" }, - { "Microsoft.Extensions.WebEncoders", "7.0.0.0" }, - { "Microsoft.JSInterop", "7.0.0.0" }, - { "Microsoft.Net.Http.Headers", "7.0.0.0" }, - { "System.Diagnostics.EventLog", "7.0.0.0" }, - { "System.IO.Pipelines", "7.0.0.0" }, - { "System.Security.Cryptography.Xml", "7.0.0.0" }, - { "System.Threading.RateLimiting", "7.0.0.0" }, + { "Microsoft.AspNetCore.Antiforgery" }, + { "Microsoft.AspNetCore.Authentication.Abstractions" }, + { "Microsoft.AspNetCore.Authentication.Cookies" }, + { "Microsoft.AspNetCore.Authentication.Core" }, + { "Microsoft.AspNetCore.Authentication.OAuth" }, + { "Microsoft.AspNetCore.Authentication" }, + { "Microsoft.AspNetCore.Authorization.Policy" }, + { "Microsoft.AspNetCore.Authorization" }, + { "Microsoft.AspNetCore.Components.Authorization" }, + { "Microsoft.AspNetCore.Components.Forms" }, + { "Microsoft.AspNetCore.Components.Server" }, + { "Microsoft.AspNetCore.Components.Web" }, + { "Microsoft.AspNetCore.Components" }, + { "Microsoft.AspNetCore.Connections.Abstractions" }, + { "Microsoft.AspNetCore.CookiePolicy" }, + { "Microsoft.AspNetCore.Cors" }, + { "Microsoft.AspNetCore.Cryptography.Internal" }, + { "Microsoft.AspNetCore.Cryptography.KeyDerivation" }, + { "Microsoft.AspNetCore.DataProtection.Abstractions" }, + { "Microsoft.AspNetCore.DataProtection.Extensions" }, + { "Microsoft.AspNetCore.DataProtection" }, + { "Microsoft.AspNetCore.Diagnostics.Abstractions" }, + { "Microsoft.AspNetCore.Diagnostics.HealthChecks" }, + { "Microsoft.AspNetCore.Diagnostics" }, + { "Microsoft.AspNetCore.HostFiltering" }, + { "Microsoft.AspNetCore.Hosting.Abstractions" }, + { "Microsoft.AspNetCore.Hosting.Server.Abstractions" }, + { "Microsoft.AspNetCore.Hosting" }, + { "Microsoft.AspNetCore.Html.Abstractions" }, + { "Microsoft.AspNetCore.Http.Abstractions" }, + { "Microsoft.AspNetCore.Http.Connections.Common" }, + { "Microsoft.AspNetCore.Http.Connections" }, + { "Microsoft.AspNetCore.Http.Extensions" }, + { "Microsoft.AspNetCore.Http.Features" }, + { "Microsoft.AspNetCore.Http.Results" }, + { "Microsoft.AspNetCore.Http" }, + { "Microsoft.AspNetCore.HttpLogging" }, + { "Microsoft.AspNetCore.HttpOverrides" }, + { "Microsoft.AspNetCore.HttpsPolicy" }, + { "Microsoft.AspNetCore.Identity" }, + { "Microsoft.AspNetCore.Localization.Routing" }, + { "Microsoft.AspNetCore.Localization" }, + { "Microsoft.AspNetCore.Metadata" }, + { "Microsoft.AspNetCore.Mvc.Abstractions" }, + { "Microsoft.AspNetCore.Mvc.ApiExplorer" }, + { "Microsoft.AspNetCore.Mvc.Core" }, + { "Microsoft.AspNetCore.Mvc.Cors" }, + { "Microsoft.AspNetCore.Mvc.DataAnnotations" }, + { "Microsoft.AspNetCore.Mvc.Formatters.Json" }, + { "Microsoft.AspNetCore.Mvc.Formatters.Xml" }, + { "Microsoft.AspNetCore.Mvc.Localization" }, + { "Microsoft.AspNetCore.Mvc.Razor" }, + { "Microsoft.AspNetCore.Mvc.RazorPages" }, + { "Microsoft.AspNetCore.Mvc.TagHelpers" }, + { "Microsoft.AspNetCore.Mvc.ViewFeatures" }, + { "Microsoft.AspNetCore.Mvc" }, + { "Microsoft.AspNetCore.OutputCaching" }, + { "Microsoft.AspNetCore.RateLimiting" }, + { "Microsoft.AspNetCore.Razor.Runtime" }, + { "Microsoft.AspNetCore.Razor" }, + { "Microsoft.AspNetCore.RequestDecompression" }, + { "Microsoft.AspNetCore.ResponseCaching.Abstractions" }, + { "Microsoft.AspNetCore.ResponseCaching" }, + { "Microsoft.AspNetCore.ResponseCompression" }, + { "Microsoft.AspNetCore.Rewrite" }, + { "Microsoft.AspNetCore.Routing.Abstractions" }, + { "Microsoft.AspNetCore.Routing" }, + { "Microsoft.AspNetCore.Server.HttpSys" }, + { "Microsoft.AspNetCore.Server.IIS" }, + { "Microsoft.AspNetCore.Server.IISIntegration" }, + { "Microsoft.AspNetCore.Server.Kestrel.Core" }, + { "Microsoft.AspNetCore.Server.Kestrel.Transport.Quic" }, + { "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" }, + { "Microsoft.AspNetCore.Server.Kestrel" }, + { "Microsoft.AspNetCore.Session" }, + { "Microsoft.AspNetCore.SignalR.Common" }, + { "Microsoft.AspNetCore.SignalR.Core" }, + { "Microsoft.AspNetCore.SignalR.Protocols.Json" }, + { "Microsoft.AspNetCore.SignalR" }, + { "Microsoft.AspNetCore.StaticFiles" }, + { "Microsoft.AspNetCore.WebSockets" }, + { "Microsoft.AspNetCore.WebUtilities" }, + { "Microsoft.AspNetCore" }, + { "Microsoft.Extensions.Caching.Abstractions" }, + { "Microsoft.Extensions.Caching.Memory" }, + { "Microsoft.Extensions.Configuration.Abstractions" }, + { "Microsoft.Extensions.Configuration.Binder" }, + { "Microsoft.Extensions.Configuration.CommandLine" }, + { "Microsoft.Extensions.Configuration.EnvironmentVariables" }, + { "Microsoft.Extensions.Configuration.FileExtensions" }, + { "Microsoft.Extensions.Configuration.Ini" }, + { "Microsoft.Extensions.Configuration.Json" }, + { "Microsoft.Extensions.Configuration.KeyPerFile" }, + { "Microsoft.Extensions.Configuration.UserSecrets" }, + { "Microsoft.Extensions.Configuration.Xml" }, + { "Microsoft.Extensions.Configuration" }, + { "Microsoft.Extensions.DependencyInjection.Abstractions" }, + { "Microsoft.Extensions.DependencyInjection" }, + { "Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" }, + { "Microsoft.Extensions.Diagnostics.HealthChecks" }, + { "Microsoft.Extensions.Features" }, + { "Microsoft.Extensions.FileProviders.Abstractions" }, + { "Microsoft.Extensions.FileProviders.Composite" }, + { "Microsoft.Extensions.FileProviders.Embedded" }, + { "Microsoft.Extensions.FileProviders.Physical" }, + { "Microsoft.Extensions.FileSystemGlobbing" }, + { "Microsoft.Extensions.Hosting.Abstractions" }, + { "Microsoft.Extensions.Hosting" }, + { "Microsoft.Extensions.Http" }, + { "Microsoft.Extensions.Identity.Core" }, + { "Microsoft.Extensions.Identity.Stores" }, + { "Microsoft.Extensions.Localization.Abstractions" }, + { "Microsoft.Extensions.Localization" }, + { "Microsoft.Extensions.Logging.Abstractions" }, + { "Microsoft.Extensions.Logging.Configuration" }, + { "Microsoft.Extensions.Logging.Console" }, + { "Microsoft.Extensions.Logging.Debug" }, + { "Microsoft.Extensions.Logging.EventLog" }, + { "Microsoft.Extensions.Logging.EventSource" }, + { "Microsoft.Extensions.Logging.TraceSource" }, + { "Microsoft.Extensions.Logging" }, + { "Microsoft.Extensions.ObjectPool" }, + { "Microsoft.Extensions.Options.ConfigurationExtensions" }, + { "Microsoft.Extensions.Options.DataAnnotations" }, + { "Microsoft.Extensions.Options" }, + { "Microsoft.Extensions.Primitives" }, + { "Microsoft.Extensions.WebEncoders" }, + { "Microsoft.JSInterop" }, + { "Microsoft.Net.Http.Headers" }, + { "System.Diagnostics.EventLog" }, + { "System.IO.Pipelines" }, + { "System.Security.Cryptography.Xml" }, + { "System.Threading.RateLimiting" }, }; if (!VerifyAncmBinary()) diff --git a/src/ProjectTemplates/test/Templates.Blazor.Tests/package.json b/src/ProjectTemplates/test/Templates.Blazor.Tests/package.json index add79d4bdf8c6131f3aa4cbda11494a8a172571c..cf27e5755093526e69933b30f9d28ea231ab6d07 100644 --- a/src/ProjectTemplates/test/Templates.Blazor.Tests/package.json +++ b/src/ProjectTemplates/test/Templates.Blazor.Tests/package.json @@ -6,7 +6,7 @@ "private": true, "scripts": { "selenium-standalone": "selenium-standalone", - "prepare": "selenium-standalone install --config ../../Shared/E2ETesting/selenium-config.json" + "prepare": "selenium-standalone install --config ../../../Shared/E2ETesting/selenium-config.json" }, "author": "", "license": "MIT", diff --git a/src/ProjectTemplates/test/Templates.Tests/package.json b/src/ProjectTemplates/test/Templates.Tests/package.json index add79d4bdf8c6131f3aa4cbda11494a8a172571c..cf27e5755093526e69933b30f9d28ea231ab6d07 100644 --- a/src/ProjectTemplates/test/Templates.Tests/package.json +++ b/src/ProjectTemplates/test/Templates.Tests/package.json @@ -6,7 +6,7 @@ "private": true, "scripts": { "selenium-standalone": "selenium-standalone", - "prepare": "selenium-standalone install --config ../../Shared/E2ETesting/selenium-config.json" + "prepare": "selenium-standalone install --config ../../../Shared/E2ETesting/selenium-config.json" }, "author": "", "license": "MIT", diff --git a/src/SignalR/clients/csharp/Client/test/UnitTests/WebSocketsTransportTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/WebSocketsTransportTests.cs new file mode 100644 index 0000000000000000000000000000000000000000..b68ee0d4672ecae4b337e35c22697bd52a8b1a26 --- /dev/null +++ b/src/SignalR/clients/csharp/Client/test/UnitTests/WebSocketsTransportTests.cs @@ -0,0 +1,79 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System.Net.WebSockets; +using Microsoft.AspNetCore.Connections; +using Microsoft.AspNetCore.Http.Connections.Client; +using Microsoft.AspNetCore.Http.Connections.Client.Internal; +using Microsoft.AspNetCore.SignalR.Tests; +using Microsoft.AspNetCore.Testing; + +namespace Microsoft.AspNetCore.SignalR.Client.Tests; + +public class WebSocketsTransportTests : VerifiableLoggedTest +{ + // Tests that the transport can still be stopped if SendAsync and ReceiveAsync are hanging (ethernet unplugged for example) + [Fact] + public async Task StopCancelsSendAndReceive() + { + var options = new HttpConnectionOptions() + { + WebSocketFactory = (context, token) => + { + return ValueTask.FromResult((WebSocket)new TestWebSocket()); + }, + CloseTimeout = TimeSpan.FromMilliseconds(1), + }; + + using (StartVerifiableLog()) + { + var webSocketsTransport = new WebSocketsTransport(options, loggerFactory: LoggerFactory, () => Task.FromResult<string>(null), null); + + await webSocketsTransport.StartAsync( + new Uri("http://fakeuri.org"), TransferFormat.Text).DefaultTimeout(); + + await webSocketsTransport.StopAsync().DefaultTimeout(); + + await webSocketsTransport.Running.DefaultTimeout(); + } + } + + internal class TestWebSocket : WebSocket + { + public Task ConnectAsync(Uri uri, CancellationToken cancellationToken) => Task.CompletedTask; + + public override WebSocketCloseStatus? CloseStatus => null; + + public override string CloseStatusDescription => string.Empty; + + public override WebSocketState State => WebSocketState.Open; + + public override string SubProtocol => string.Empty; + + public override void Abort() { } + + public override Task CloseAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken) + => Task.CompletedTask; + + public override async Task CloseOutputAsync(WebSocketCloseStatus closeStatus, string statusDescription, CancellationToken cancellationToken) + { + await cancellationToken.WaitForCancellationAsync(); + cancellationToken.ThrowIfCancellationRequested(); + } + + public override void Dispose() { } + + public override async Task<WebSocketReceiveResult> ReceiveAsync(ArraySegment<byte> buffer, CancellationToken cancellationToken) + { + await cancellationToken.WaitForCancellationAsync(); + cancellationToken.ThrowIfCancellationRequested(); + return new WebSocketReceiveResult(0, WebSocketMessageType.Text, true); + } + + public override async Task SendAsync(ArraySegment<byte> buffer, WebSocketMessageType messageType, bool endOfMessage, CancellationToken cancellationToken) + { + await cancellationToken.WaitForCancellationAsync(); + cancellationToken.ThrowIfCancellationRequested(); + } + } +} diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs index 2dd87407d6328f9f122b1936aaa402a52fa5cea9..7a2c49909fea51ce13dcfb3855a2f6fdf867af5b 100644 --- a/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs +++ b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs @@ -27,6 +27,7 @@ internal sealed partial class WebSocketsTransport : ITransport private volatile bool _aborted; private readonly HttpConnectionOptions _httpConnectionOptions; private readonly HttpClient? _httpClient; + private readonly CancellationTokenSource _stopCts = new CancellationTokenSource(); private IDuplexPipe? _transport; @@ -224,6 +225,8 @@ internal sealed partial class WebSocketsTransport : ITransport // Wait for send or receive to complete var trigger = await Task.WhenAny(receiving, sending).ConfigureAwait(false); + _stopCts.CancelAfter(_closeTimeout); + if (trigger == receiving) { // We're waiting for the application to finish and there are 2 things it could be doing @@ -233,22 +236,14 @@ internal sealed partial class WebSocketsTransport : ITransport // Cancel the application so that ReadAsync yields _application.Input.CancelPendingRead(); - using (var delayCts = new CancellationTokenSource()) - { - var resultTask = await Task.WhenAny(sending, Task.Delay(_closeTimeout, delayCts.Token)).ConfigureAwait(false); + var resultTask = await Task.WhenAny(sending, Task.Delay(_closeTimeout, _stopCts.Token)).ConfigureAwait(false); - if (resultTask != sending) - { - _aborted = true; + if (resultTask != sending) + { + _aborted = true; - // Abort the websocket if we're stuck in a pending send to the client - socket.Abort(); - } - else - { - // Cancel the timeout - delayCts.Cancel(); - } + // Abort the websocket if we're stuck in a pending send to the client + socket.Abort(); } } else @@ -278,7 +273,7 @@ internal sealed partial class WebSocketsTransport : ITransport { #if NETSTANDARD2_1 || NETCOREAPP // Do a 0 byte read so that idle connections don't allocate a buffer when waiting for a read - var result = await socket.ReceiveAsync(Memory<byte>.Empty, CancellationToken.None).ConfigureAwait(false); + var result = await socket.ReceiveAsync(Memory<byte>.Empty, _stopCts.Token).ConfigureAwait(false); if (result.MessageType == WebSocketMessageType.Close) { @@ -295,13 +290,13 @@ internal sealed partial class WebSocketsTransport : ITransport var memory = _application.Output.GetMemory(); #if NETSTANDARD2_1 || NETCOREAPP // Because we checked the CloseStatus from the 0 byte read above, we don't need to check again after reading - var receiveResult = await socket.ReceiveAsync(memory, CancellationToken.None).ConfigureAwait(false); + var receiveResult = await socket.ReceiveAsync(memory, _stopCts.Token).ConfigureAwait(false); #elif NETSTANDARD2_0 || NETFRAMEWORK var isArray = MemoryMarshal.TryGetArray<byte>(memory, out var arraySegment); Debug.Assert(isArray); // Exceptions are handled above where the send and receive tasks are being run. - var receiveResult = await socket.ReceiveAsync(arraySegment, CancellationToken.None).ConfigureAwait(false); + var receiveResult = await socket.ReceiveAsync(arraySegment, _stopCts.Token).ConfigureAwait(false); #else #error TFMs need to be updated #endif @@ -382,7 +377,7 @@ internal sealed partial class WebSocketsTransport : ITransport if (WebSocketCanSend(socket)) { - await socket.SendAsync(buffer, _webSocketMessageType).ConfigureAwait(false); + await socket.SendAsync(buffer, _webSocketMessageType, _stopCts.Token).ConfigureAwait(false); } else { @@ -420,7 +415,7 @@ internal sealed partial class WebSocketsTransport : ITransport try { // We're done sending, send the close frame to the client if the websocket is still open - await socket.CloseOutputAsync(error != null ? WebSocketCloseStatus.InternalServerError : WebSocketCloseStatus.NormalClosure, "", CancellationToken.None).ConfigureAwait(false); + await socket.CloseOutputAsync(error != null ? WebSocketCloseStatus.InternalServerError : WebSocketCloseStatus.NormalClosure, "", _stopCts.Token).ConfigureAwait(false); } catch (Exception ex) { @@ -472,6 +467,9 @@ internal sealed partial class WebSocketsTransport : ITransport // Cancel any pending reads from the application, this should start the entire shutdown process _application.Input.CancelPendingRead(); + // Start ungraceful close timer + _stopCts.CancelAfter(_closeTimeout); + try { await Running.ConfigureAwait(false); @@ -485,6 +483,7 @@ internal sealed partial class WebSocketsTransport : ITransport finally { _webSocket?.Dispose(); + _stopCts.Dispose(); } Log.TransportStopped(_logger, null); diff --git a/src/submodules/MessagePack-CSharp b/src/submodules/MessagePack-CSharp index 6caf2996c82d2b91528fad41e9c78e09770e73d4..fe9fa0834d18492eb229ff2923024af2c87553f8 160000 --- a/src/submodules/MessagePack-CSharp +++ b/src/submodules/MessagePack-CSharp @@ -1 +1 @@ -Subproject commit 6caf2996c82d2b91528fad41e9c78e09770e73d4 +Subproject commit fe9fa0834d18492eb229ff2923024af2c87553f8 diff --git a/src/submodules/googletest b/src/submodules/googletest index 7274ec186442c96e4c7dcc99c684a03e5db2ff48..afd902e992b720d1b3e106bc5e425a5768872265 160000 --- a/src/submodules/googletest +++ b/src/submodules/googletest @@ -1 +1 @@ -Subproject commit 7274ec186442c96e4c7dcc99c684a03e5db2ff48 +Subproject commit afd902e992b720d1b3e106bc5e425a5768872265 diff --git a/src/submodules/spa-templates b/src/submodules/spa-templates index 9044834f67887b23da3454549ab77545f1286d58..1edf19d7c2dc9217359b75342a0ff3f0357f5bc2 160000 --- a/src/submodules/spa-templates +++ b/src/submodules/spa-templates @@ -1 +1 @@ -Subproject commit 9044834f67887b23da3454549ab77545f1286d58 +Subproject commit 1edf19d7c2dc9217359b75342a0ff3f0357f5bc2