我尝试用.NET Core3.1创建一个过滤器
由于一些奇怪的原因,很多东西都找不到
无法找到类型或命名空间名称'FilterAttribute‘(您是缺少使用指令还是程序集引用?)?
首先,找不到System.Web.Mvc,所以我卸载,重新安装了microsoft apsnet mvc包。
但我还是遇到了同样的问题
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Web.Mvc.Filters;
namespace MyApp.Filters
{
public class CustomAuthorizationAttribute : FilterAttribute, IAuthorizationFilter
{
void IAuthorizationFilter.OnAuthorization(AuthorizationContext filterContext)
{
...
}
}
}谢谢你帮我做这件事

发布于 2020-09-17 07:40:25
很明显,我找到的例子不是.NET核心(?)
我找到了另一位微软的医生,他说要用IAsyncPageFilter,IOrderedFilter代替。
发布于 2020-09-16 13:54:08
我认为您不理解ASP.NET核心是如何工作的。没有System.Web.Mvc.Filters名称空间,也没有FilterAttribute;任何与MVC相关的包都与遗留的ASP.NET相关,因此与ASP.NET不兼容(因此您不能使用该名称空间),所以安装它们没有意义。
如果您有一个ASP.NET MVC应用程序,并且希望将它升级到Core.您应该阅读Microsoft为此编写的文档。。
https://stackoverflow.com/questions/63921067
复制相似问题