因为,我正在研究 web api 项目并尝试实现 PostSharp Aspect 类来登录请求和其他工作人员。OnEntry 方法 OnSucess 方法在调用 api 方法时没有被调用。如果我在其他已经在相同解决方案中的 MVC 项目中使用相同的 Aspect 类,那么它可以工作。只有 Aspect 类不在 web api 项目中执行。
我已经在 web api 项目中添加了 Postsharp DLL。
方面类
Web API 控制器
因为,我正在研究 web api 项目并尝试实现 PostSharp Aspect 类来登录请求和其他工作人员。OnEntry 方法 OnSucess 方法在调用 api 方法时没有被调用。如果我在其他已经在相同解决方案中的 MVC 项目中使用相同的 Aspect 类,那么它可以工作。只有 Aspect 类不在 web api 项目中执行。
我已经在 web api 项目中添加了 Postsharp DLL。
方面类
Web API 控制器
PostSharp 是一个后编译器,它需要与构建过程集成。这是通过 MSBuild 目标文件完成的PostSharp.targets
,仅拥有程序集引用是不够的。
您的项目很可能没有导入此目标文件。
它包含在NuGet 包中,如果您的项目使用NuGet 包引用样式,PostSharp
则应自动导入。PackageReference
如果您正在使用packages.config
,您需要确保您的项目文件包含<Import Project="<path_to_package>\PostSharp.targets" />
. 升级软件包或手动添加参考后,有时可能会丢失此信息。
同样,如果您使用的是 Zip 发行版,则此导入需要存在于您的项目文件中并指向 PostSharp 解压缩的目录。