Решение не может быть скомпилировано из-за отсутствия OperationFilterContext.ControllerActionDescriptor - PullRequest
0 голосов
/ 10 сентября 2018

Я только что создал и загрузил пример проекта. Не удается скомпилировать из-за ссылки на ControllerActionDescriptor свойство OperationFilterContext объекта:

public class SecurityRequirementsOperationFilter : IOperationFilter
{
    public void Apply(Operation operation, OperationFilterContext context)
    {
        var actionAttrs = context.ControllerActionDescriptor.MethodInfo.GetCustomAttributes(true).ToList();
    }
}

Я обновил все пакеты NuGet. DLL ад никогда не уйдет: - (

1 Ответ

0 голосов
/ 10 сентября 2018

Swashbuckle.AspNetCore v2.5.0

ControllerActionDescriptor присутствует только в Swashbuckle.AspNetCore v2.5.0.

См: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/commit/c9777021ff3b7bd7900fb259779df8d3cba4e217#diff-e86edb6a6357b96238665ca2b11f5ab8


Swashbuckle.AspNetCore v3.0.0 +

Теперь вам просто нужно:

var controllerAttributes = context.MethodInfo.DeclaringType.GetCustomAttributes(true);
...