-
Notifications
You must be signed in to change notification settings - Fork 217
Dependencies
Why Microsoft.Identity.Web net462 targets depends on Microsoft.Extensions version 5+, whereas net472 targets depend on Microsoft.Extensions version 2+?
Microsoft.Identity.Web depends on Microsoft.Extensions. version 5+ for net462, but version 2+ for net472. Here is the reason:
When an application targeting .NET Framework consumes a NuGet package that ships only NETSTANDARD 2.0 target (as most of Microsoft.Extensions.* packages did before version 5), it will also pull all the .NET standard dependencies. These carry high risk to have versions conflicts when integrated with other SDKs, or legacy applications.
After the Microsoft.Extensions.* suite got moved to .NET runtime, the .NET team added specific targets (net462, net472) in addition to NETSTANDARD 2.0 (starting from version 5.0.0). Having versions of packages that have dedicated framework targets unblocked several big customers.
In addition to the reason above, there are other issues with <NET 4.7.2 + NETSTANDARD2.0; there are a number of cryptography APIs that are present in the NETSTANDARD2.0 contract but actually don’t exist at targets < NET 4.7.2, which result in runtime exceptions (ECParams for instance).
Both dependency issues, and API contract with non-existent implementations are fixed with .NET 4.7.2 hence the recommendation to target >=4.7.2 when consuming .NETSTANDARD libraries.
- Home
- Why use Microsoft Identity Web?
- Web apps
- Web APIs
- Using certificates
- Minimal support for .NET FW Classic
- Logging
- Azure AD B2C limitations
- Samples
- Web apps
- Web app samples
- Web app template
- Call an API from a web app
- Managing incremental consent and conditional access
- Web app troubleshooting
- Deploy to App Services Linux containers or with proxies
- SameSite cookies
- Hybrid SPA
- Web APIs
- Web API samples
- Web API template
- Call an API from a web API
- Token Decryption
- Web API troubleshooting
- web API protected by ACLs instead of app roles
- gRPC apps
- Azure Functions
- Long running processes in web APIs
- Authorization policies
- Generic API
- Customization
- Logging
- Calling graph with specific scopes/tenant
- Multiple Authentication Schemes
- Utility classes
- Setting FIC+MSI
- Mixing web app and web API
- Deploying to Azure App Services
- Azure AD B2C issuer claim support
- Performance
- specify Microsoft Graph scopes and app-permissions
- Integrate with Azure App Services authentication
- Ajax calls and incremental consent and conditional access
- Back channel proxys
- Client capabilities