9得票3回答
PostSharp出现问题,找不到System.Web.Mvc版本为3.0.0.0的程序集,即使没有任何项目引用它。

我正在使用PostSharp,之前一直很好用。最近我们将一些项目升级到了MVC 5.2版本。今天我打开了一个使用MVC 4.0版本的旧项目,结果在构建时PostSharp报告了一个奇怪的错误: Error 17 Unhandled exception (3.1.42.0, 32 bit...

9得票3回答
PostSharp后pdb文件丢失。

我正在使用PostSharp 2.1.6.4版本(也尝试了最新版本2.1.7.35),有时pdb文件会丢失,而在其位置上出现了pssym文件。 <?xml version="1.0" encoding="utf-8"?> <Symbols xmlns="http://sch...

9得票2回答
我能限制自定义属性仅适用于空方法吗?

我有一个自定义属性,我希望将其限制为返回类型为void的方法。我知道可以使用[AttributeUsage(AttributeTargets.Method)]来限制方法,但似乎没有办法限制返回类型或方法签名的任何其他方面。[System.Diagnostics.Conditional]属性恰好...

8得票1回答
PostSharp OnMethodBoundaryAspect 在进入时没有执行

我正在运行一个.NET 4.0 Web应用程序(不是Web站点),并使用PostSharp 1.5。我无法使用OnMethodBoundaryAspect基类执行OnEntry重写方法。以下是一些相关代码: public sealed class MonitorAttribute : OnM...

8得票2回答
使用PostSharp将属性应用于接口

我希望能够为接口应用属性,以便实现该接口的任何类中的每个方法都将应用该属性。我认为它应该像这样: [Serializable] [AttributeUsage(AttributeTargets.All, Inherited = true)] public sealed class TestA...

8得票4回答
为什么要使用后编译器?

我很难理解为什么需要像PostSharp这样的后编译器? 我的理解是它只是在原始代码中标注的位置插入代码,那么为什么开发人员不能自己编写这些代码呢? 我知道有人会说使用方法上的属性更容易编写,而不会使它们混杂在样板代码中,但是这可以使用DI或反射以及一点预先考虑来完成,而无需使用后编译器。...

8得票1回答
过滤log4net日志的方法名 - 不太明白

我正在使用log4net记录我的Web应用程序的进度,使用Log4PostSharp对所有方法进行AOP注入。这样做的效果是记录(几乎)所有内容,非常好。 现在我有一个要求,即仅将Page_Load方法记录到文件/控制台中。显然,我可以限制log4postsharp类来实现这一点,但那样我就...

8得票2回答
装配件范围的多播属性。它们是邪恶的吗?

我正在处理一个项目,其中在AssemblyInfo.cs文件中有多个属性,这些属性被广播到特定类的方法。 [assembly: Repeatable( AspectPriority = 2, AttributeTargetAssemblies = "MyNamespace", Attribu...

8得票2回答
AOP与MVC FilterAttributes和拦截器的比较

ASP.NET MVC建议使用或扩展内置的授权、操作、结果、异常筛选器。 .Net IoC容器(Unity、Ninject、Autofac)建议使用拦截器。 AOP工具(Postsharp)建议使用它们自己的属性。 现在,我感到很混乱。也许我把它们混合了。 我想构建稳健的代码和稳定的方法...

8得票1回答
如何在没有安装Visual Studio的情况下卸载Postsharp或更改其许可证?

我已经在我的构建服务器上安装了Postsharp。只安装了Microsoft Build Tools(MSBuild),没有安装Visual Studio。 现在我需要更改Postsharp的许可证。当我运行安装程序时,它会提示Postsharp已经安装。没有“卸载”选项或“更改许可证”选项...