Bonjour,

Les librairies suivantes sont déclarées obsolètes et je cherche à les remplacer :
Microsoft.AspNetCore.Mvc.Versioning
Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer

Par défaut le gestionnaire de NuGet me propose d'utiliser les librairies suivantes :
Asp.Versioning.Mvc
Asp.Versioning.Mvc.ApiExplorer

Sauf qu'il me manque à présent des éléments.

Dans la méthode Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env) le builder ne contient de méthode UseApiVersioning().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
app.UseApiVersioning();

Dans la méthode Startup.ConfigureServices(IServiceCollection services) le membre ErrorResponses n'est pas reconnu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
services.AddApiVersioning(options =>
{
    options.DefaultApiVersion = new ApiVersion(2, 0);
    options.AssumeDefaultVersionWhenUnspecified = true;
    options.ReportApiVersions = true;
    options.ApiVersionReader = ApiVersionReader.Combine(new HeaderApiVersionReader("x-api-version"),
                                                        new MediaTypeApiVersionReader("version"));
    options.ErrorResponses = new ApiVersionErrorResponseProvider();
})
Et les objets DefaultErrorResponseProvider et ErrorResponseContext n'existent plus.
Je ne peux donc plus en hériter dans ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class ApiVersionErrorResponseProvider : DefaultErrorResponseProvider
{
    public override IActionResult CreateResponse(ErrorResponseContext context)
    {
        var message = "error Api version.";
        switch (context.ErrorCode)
        {
            case "UnsupportedApiVersion":
                message = "Unsupported Api version.";
                break;
            default:
                break;
        }
        var result = new ObjectResult(new ProblemDetails
            {
                Type = "API Version",
                Title = $"{context.ErrorCode} - {message}",
                Detail = context.MessageDetail,
                Status = context.StatusCode,
                Instance = context.Request.Path.Value,
            })
        {
            StatusCode = context.StatusCode
        };
        return result;
    }
}
Quelqu'un a-t-il été confronté à ce problème et sais comment y remédier ?

Merci.