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