Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[release/8.0] Improve usage ofType.GetType when activating types in data protection#54762

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
wtgodbe merged 9 commits intorelease/8.0frombackport/pr-54256-to-release/8.0
Apr 2, 2024

Conversation

@github-actions
Copy link
Contributor

@github-actionsgithub-actionsbot commentedMar 26, 2024
edited by JamesNK
Loading

Backport of#54256 to release/8.0

/cc@JamesNK@khellang

Improve usage ofType.GetType when activating types in data protection

Microsoft.AspNetCore.DataProtection was changed in .NET 8 to support AOT. One of the changes causedType.GetType(typeName, throwOnError) to be called earlier than it was in .NET 7 in earlier. In rare circumstances this causes a regression and an error to be thrown.

The error occurs if an app is using a custom data protection decryptor, such asAzure.Extensions.AspNetCore.DataProtection.Keys from Azure, and the app is on .NET Framework (the data protection supports .NET Framework targets). Even thoughthrowOnError is false in the call toType.GetType, .NET Framework strong name binding can still cause the method to fail with an error.

The fix is to:

  • Catch error fromType.GetType. An error is treated the same as failing to resolve the type. This makesType.GetType behavior consistent between .NET 5+ and .NET Framework
  • Test the type name before callingType.GetType. This is a performance optimization to reduce the need to callType.GetType. We don't want .NET Framework to throw excessive internal exceptions and hurt performance.

Fixes#54253
Fixes#48910

Customer Impact

Microsoft.AspNetCore.DataProtection package 8.0.x can't be used with custom encryptors/decryptors on .NET Framework.

Regression?

  • Yes
  • No

This scenario worked without error withMicrosoft.AspNetCore.DataProtection package 7.0.x and earlier.

Risk

  • High
  • Medium
  • Low

Minor changes to theMicrosoft.AspNetCore.DataProtection library.

Verification

  • Manual (required)
  • Automated

Before (error):
image

After (success):
image

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

@ghostghost added the area-dataprotectionIncludes: DataProtection labelMar 26, 2024
@dotnet-policy-servicedotnet-policy-servicebot added this to the8.0.x milestoneMar 26, 2024
@JamesNKJamesNK requested a review fromamcaseyMarch 26, 2024 02:45
@JamesNKJamesNK added the Servicing-considerShiproom approval is required for the issue labelMar 26, 2024
@JamesNKJamesNK added Servicing-approvedShiproom has approved the issue and removed Servicing-considerShiproom approval is required for the issue labelsApr 2, 2024
@JamesNKJamesNK modified the milestones:8.0.x,8.0.5Apr 2, 2024
@wtgodbewtgodbe merged commit22bb1c3 intorelease/8.0Apr 2, 2024
@wtgodbewtgodbe deleted the backport/pr-54256-to-release/8.0 branchApril 2, 2024 21:04
@dotnet-policy-servicedotnet-policy-servicebot modified the milestone:8.0.5Apr 2, 2024
oskogstad referenced this pull request in Altinn/dialogportenMay 26, 2024
[![MendRenovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)This PR contains the following updates:| Package | Change | Age | Adoption | Passing | Confidence ||---|---|---|---|---|---|| [Microsoft.AspNetCore.Authentication.JwtBearer](https://asp.net/)([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`|[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.Authentication.JwtBearer/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|| [Microsoft.AspNetCore.Mvc.NewtonsoftJson](https://asp.net/)([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`|[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.Mvc.NewtonsoftJson/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|| [Microsoft.AspNetCore.OpenApi](https://asp.net/)([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`|[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.AspNetCore.OpenApi/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.AspNetCore.OpenApi/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.AspNetCore.OpenApi/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.AspNetCore.OpenApi/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)||[Microsoft.EntityFrameworkCore.Relational](https://docs.microsoft.com/ef/core/)([source](https://togithub.com/dotnet/efcore)) | `8.0.4` -> `8.0.5` |[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.EntityFrameworkCore.Relational/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)||[Microsoft.EntityFrameworkCore.Tools](https://docs.microsoft.com/ef/core/)([source](https://togithub.com/dotnet/efcore)) | `8.0.4` -> `8.0.5` |[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.EntityFrameworkCore.Tools/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|| [Microsoft.Extensions.Caching.StackExchangeRedis](https://asp.net/)([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`|[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.Extensions.Caching.StackExchangeRedis/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|| [Microsoft.Extensions.Http.Polly](https://asp.net/)([source](https://togithub.com/dotnet/aspnetcore)) | `8.0.4` -> `8.0.5`|[![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.Extensions.Http.Polly/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![adoption](https://developer.mend.io/api/mc/badges/adoption/nuget/Microsoft.Extensions.Http.Polly/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![passing](https://developer.mend.io/api/mc/badges/compatibility/nuget/Microsoft.Extensions.Http.Polly/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|[![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.Extensions.Http.Polly/8.0.4/8.0.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)|---### Release Notes<details><summary>dotnet/aspnetcore(Microsoft.AspNetCore.Authentication.JwtBearer)</summary>###[`v8.0.5`](https://togithub.com/dotnet/aspnetcore/releases/tag/v8.0.5):.NET 8.0.5[Release](https://togithub.com/dotnet/core/releases/tag/v8.0.5)##### What's Changed- \[release/8.0] Update dependencies from dotnet/source-build-externalsby [@&#8203;dotnet-maestro](https://togithub.com/dotnet-maestro) in[https://github.com/dotnet/aspnetcore/pull/54744](https://togithub.com/dotnet/aspnetcore/pull/54744)- Update branding to 8.0.5 by[@&#8203;vseanreesermsft](https://togithub.com/vseanreesermsft) in[https://github.com/dotnet/aspnetcore/pull/54907](https://togithub.com/dotnet/aspnetcore/pull/54907)- \[release/8.0] Convert to 1ES templates by[@&#8203;RussKie](https://togithub.com/RussKie) in[https://github.com/dotnet/aspnetcore/pull/54660](https://togithub.com/dotnet/aspnetcore/pull/54660)- Increase logs and delays in CanLaunchPhotinoWebViewAndClickButton by[@&#8203;Eilon](https://togithub.com/Eilon) in[https://github.com/dotnet/aspnetcore/pull/54608](https://togithub.com/dotnet/aspnetcore/pull/54608)- \[release/8.0] (deps): Bump src/submodules/googletest from `31993df`to `77afe8e` by [@&#8203;dependabot](https://togithub.com/dependabot) in[https://github.com/dotnet/aspnetcore/pull/54872](https://togithub.com/dotnet/aspnetcore/pull/54872)- \[release/8.0] Reduce helix-matrix timeout to 5 hours by[@&#8203;github-actions](https://togithub.com/github-actions) in[https://github.com/dotnet/aspnetcore/pull/54778](https://togithub.com/dotnet/aspnetcore/pull/54778)- \[release/8.0] Preserve RemoteAuthenticationContext during trimming ifused in JS interop by [@&#8203;halter73](https://togithub.com/halter73)in[https://github.com/dotnet/aspnetcore/pull/54655](https://togithub.com/dotnet/aspnetcore/pull/54655)- \[release/8.0] Improve usage of `Type.GetType` when activating typesin data protection by[@&#8203;github-actions](https://togithub.com/github-actions) in[https://github.com/dotnet/aspnetcore/pull/54762](https://togithub.com/dotnet/aspnetcore/pull/54762)- \[release/8.0] Fix route analyzer performance with highly concatenatedstrings by [@&#8203;github-actions](https://togithub.com/github-actions)in[https://github.com/dotnet/aspnetcore/pull/54763](https://togithub.com/dotnet/aspnetcore/pull/54763)- \[release/8.0] Suppress .ps1 SDL errors by[@&#8203;wtgodbe](https://togithub.com/wtgodbe) in[https://github.com/dotnet/aspnetcore/pull/54915](https://togithub.com/dotnet/aspnetcore/pull/54915)- \[release/8.0] Backport test fixes by[@&#8203;MackinnonBuck](https://togithub.com/MackinnonBuck) in[https://github.com/dotnet/aspnetcore/pull/54912](https://togithub.com/dotnet/aspnetcore/pull/54912)- \[release/8.0] Skip SpotBugs for now by[@&#8203;wtgodbe](https://togithub.com/wtgodbe) in[https://github.com/dotnet/aspnetcore/pull/54952](https://togithub.com/dotnet/aspnetcore/pull/54952)- Merging internal commits for release/8.0 by[@&#8203;vseanreesermsft](https://togithub.com/vseanreesermsft) in[https://github.com/dotnet/aspnetcore/pull/55034](https://togithub.com/dotnet/aspnetcore/pull/55034)- \[release/8.0] Update dependencies from dotnet/arcade by[@&#8203;dotnet-maestro](https://togithub.com/dotnet-maestro) in[https://github.com/dotnet/aspnetcore/pull/55061](https://togithub.com/dotnet/aspnetcore/pull/55061)- \[release/8.0] Update Wix version by[@&#8203;github-actions](https://togithub.com/github-actions) in[https://github.com/dotnet/aspnetcore/pull/55101](https://togithub.com/dotnet/aspnetcore/pull/55101)**Full Changelog**:dotnet/aspnetcore@v8.0.4...v8.0.5</details><details><summary>dotnet/efcore(Microsoft.EntityFrameworkCore.Relational)</summary>### [`v8.0.5`](https://togithub.com/dotnet/efcore/releases/tag/v8.0.5):EF Core 8.0.5This is a [patch release of EF Core8.0](https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/8.0.5)containing only updates to dependencies. There are no additional fixesin this release beyond those already shipped in EF Core 8.0.4.</details>---### Configuration📅 **Schedule**: Branch creation - "before 7am on Sunday,before 7am onWednesday" (UTC), Automerge - At any time (no schedule defined).🚦 **Automerge**: Disabled by config. Please merge this manually once youare satisfied.♻ **Rebasing**: Whenever PR becomes conflicted, or you tick therebase/retry checkbox.🔕 **Ignore**: Close this PR and you won't be reminded about theseupdates again.---- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, checkthis box---This PR has been generated by [MendRenovate](https://www.mend.io/free-developer-tools/renovate/). Viewrepository job log[here](https://developer.mend.io/github/digdir/dialogporten).<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->---------Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>Co-authored-by: Ole Jørgen Skogstad <skogstad@softis.net>
This was referencedNov 12, 2025
This was referencedNov 21, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@amcaseyamcaseyamcasey approved these changes

Assignees

No one assigned

Labels

area-dataprotectionIncludes: DataProtectionServicing-approvedShiproom has approved the issue

Projects

None yet

Milestone

8.0.5

Development

Successfully merging this pull request may close these issues.

5 participants

@amcasey@JamesNK@wtgodbe@khellang

[8]ページ先頭

©2009-2025 Movatter.jp