我刚创建并下载了一个示例项目。由于引用了ControllerActionDescriptor
对象的OperationFilterContext
属性,它无法编译:
public class SecurityRequirementsOperationFilter : IOperationFilter
{
public void Apply(Operation operation, OperationFilterContext context)
{
var actionAttrs = context.ControllerActionDescriptor.MethodInfo.GetCustomAttributes(true).ToList();
}
}
我确实更新了所有NuGet包。 DLL地狱永远不会消失:-(
Swashbuckle.AspNetCore
v2.5.0ControllerActionDescriptor
仅出现在Swashbuckle.AspNetCore
v2.5.0中。
Swashbuckle.AspNetCore
v3.0.0+现在,你只需要:
var controllerAttributes = context.MethodInfo.DeclaringType.GetCustomAttributes(true);