问题标签 [postsharp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio-2010 - 升级到 VS 2010 后,Team City 构建失败
我有一个项目,目前使用 VS 2010(可能使用 MSBUILD v4.0)在我的开发机器上愉快地编译,但它在 Team City 的 MSBUILD v3.5 下失败(在基于 Win 2003 服务器 w/.NET 2 的 VM 上运行, 3.5 和 4 安装)。这个项目新升级到 2010,现在在 CI 构建上失败了。我已经用谷歌搜索了这个并尝试了所有明显的东西(加上一些没有意义的东西)并且没有任何影响结果。
该项目失败并出现一系列错误,如下所示:
解决方案中还有许多其他项目使用 System.Core、System.Data.Linq 和 System.Xml.Linq,它们似乎都可以毫无问题地编译。有问题的项目是一个 Web 应用程序,它在其 configuration/system.web/compilation/assemblies 部分具有以下设置:
在同一文件中加上以下内容:
有问题的项目是 IIRC,它是我的解决方案中唯一一个既是 WebApplication 又由 PostSharp (v1.5) 进行后处理的项目。PostSharp 在 .csproj 中配置如下:
我不确定这有什么关系,但以防万一。
关于导致此错误的原因或如何解决此问题的任何想法?
TIA
.net - Postsharp 未处理的异常只需添加一个引用
我开始使用 Postsharp,但无法超越第一步。其他人在他们的论坛上报告了http://www.sharpcrafters.com/forum/Topic4817-18-1.aspx但想知道是否有人遇到过这个问题并且可能有解决方案。
我正在使用 VS2008 并安装了 .net3.5SP1。
(在这里发帖,因为活动比他们的论坛多)。
c# - 使用调试配置时 PostSharp 构建目标未运行
我已经设置了一个 Visual Studio 项目,我已对其进行编辑以引用 PostSharp 构建目标。我没有使用安装的 MSI 在我的开发机器上安装 PostSharp。
我遇到的问题是 PostSharp 目标仅在我将构建配置更改为“发布”时执行,而不是在“调试”中执行。
我可以通过查看包含发布时的行的构建输出来验证这一点:
查看项目文件,我没有看到任何明显的迹象表明 PostSharp 将使用一种配置而不是另一种配置运行。如何将 PostSharp 配置为在 Debug 和 Release 配置期间运行?请记住,我宁愿避免使用安装程序。
卡尔
编辑 csproj 片段,出现在文件底部,如下<ItemGroup>
:
c# - PostSharp 应用于泛型方法时会导致 BadImageException - 运行 peverify.exe 时出错
我刚刚将一个项目从 VS2008/.NET 3.5/PostSharp 1.5 升级到 VS2010/.NET4.0/PostSharp 2.0。
现在,在为系统运行单元测试时,我会遇到以下形式的数百个异常:
System.BadImageFormatException:试图加载格式不正确的程序。(HRESULT 的异常:0x8007000B)在 COMPANY.Data.NHibernate.BaseRepository.c__Binding`1.Invoke(Object& instance, Arguments arguments, Object aspectArgs) 在 COMPANY.Aop.TransactionAspectAttribute 的 PostSharp.Aspects.Internals.MethodInterceptionArgsImpl.Proceed()。 OnInvoke(MethodInterceptionArgs context) 在 C:\COMPANY\Code\COMPANY-NET4.0\Core\Aop\TransactionAspectAttribute.cs:第 68 行 COMPANY.Data.NHibernate.BaseRepository.Save[T](T scoreBigModel) 在 C:\ COMPANY\Code\COMPANY-NET4.0\Core\DataAccess\NHibernate\BaseRepository.cs:COMPANY.UnitTests.DataAccess.NHibernate.when_saving_a_canonical_term 的第 102 行。<.ctor>b__5() 在 C:\COMPANY\Code\COMPANY- NET4.0\UnitTests\DataAccess\NHibernate\CanonicalTermRepositorySpecs.cs:
当我在程序集上运行 peverify.exe 时,我看到以下形式的数百个错误。泛型方法似乎总是存在问题:
[IL]:错误:[C:\COMPANY\Code\COMPANY-NET4.0\Core\bin\Debug\COMPANY.Core.dll:COMPANY.Data.NHibernate.ActivationRepository+c__Binding::Invoke][偏移量 0x0000008D][发现 ref 'PostSharp.Aspects.Internals.MethodBinding'][expected ref 'PostSharp.Aspects.Internals.MethodBinding`1[COMPANY.Models.Activation]'] 堆栈上的意外类型。
[IL]:错误:[C:\COMPANY\Code\COMPANY-NET4.0\Core\bin\Debug\COMPANY.Core.dll:COMPANY.Data.NHibernate.ActivationRepository+c__Binding::Invoke][偏移量 0x00000056][发现 ref 'PostSharp.Aspects.Internals.MethodBinding`1[COMPANY.Models.Activation]'][expected ref 'PostSharp.Aspects.Internals.MethodBinding'] 堆栈上的意外类型。
我正在运行最新版本的 PostSharp 2.0 RC。
c# - PostSharp 关于我没有来源的程序集
在他们网站上的示例中,PostSharp 有一个在主系统程序集中拦截调用的演示。我已经尝试了几次在我没有源代码的程序集中设置和复制所说的拦截调用,但没有成功。
我的方法是简单地放置针对我想要检测的命名空间和方法的程序集级属性。这对我从来没有用过。
就像是:
[程序集:Trace("MyCategory", AttributeTargetTypes = "My.BusinessLayer.*")]
我在这里错过了什么吗?如果我没有为它提取源代码,我是否可以不在程序集上对我的检测方面进行运行时注入?我以为我可以进行运行时注入...
谢谢。
c# - 使用 PostSharp 在 Web 应用程序中检测方法调用
例子:
我将 PostSharp 属性添加到方法中,以确保在调用方法之前启动秒表,并在调用返回后立即停止。该方法用于 Web 应用程序,因此会被多个线程调用。
我将秒表计时的结果存储在静态线程安全集合中,供所有线程使用。然后可以由另一个监视线程读取此集合以进行分析。
这会有效地强制所有方法调用在等待释放集合上的锁时阻塞吗?(以便他们可以完成 postsharp 代码块)。
使用 MSMQ 的异步消息传递是否可以为这个问题提供非阻塞解决方案?
PostSharp 属性代码:
//...
//...
c# - 使用这种异步日志记录代码有什么缺点?
我刚刚写的一些代码如下。
它演示了将 PostSharp aspect 应用于方法,以便以异步方式记录方法调用的持续时间 - 因此,如果日志记录过程很慢,则使用该 aspect 装饰的方法的调用者不会看到这种性能损失.
它似乎可以工作,随着 MyFirstMethod 的完成,日志记录方法在一个单独的线程中启动,并且 MySecondMethod 并行运行。这个想法是在一个非常高流量的 Web 应用程序(即一个高度多线程的环境)中的方法用类似的工具来装饰。
这样做的陷阱是什么?(例如,我担心在任何给定时间达到允许的线程数限制)。
c# - 您可以从 PostSharp 建议中呼叫班级成员吗?
因此,我正在与 PostSharp 合作以提取样板日志记录/异常处理代码,以便:
变成这样:
但是,在某些地方,我的代码有一个存在已知恢复点的实例,所以它看起来像:
我想将此表示为建议,但我似乎无法从建议中访问班级成员。
.net - PostSharp 1.5 和 .Net 4
Postsharp 很棒,但只有 1.5 版本仍然是开源的。它适用于.net 4.0吗?如果没有,还有其他优秀的 AOP 编织者吗?我对代理类型不感兴趣。
c# - 使用 postsharp 2.0 的 Log4Postsharp(死了?)还是放弃了 ELMAH?
有谁知道最新版本(2010 年 3 月 - 我相信称为 log4postsharp 2.0)是否与 postsharp 2.0 社区版兼容?
我过去曾将 postsharp 1.5 与 log4postsharp 一起使用,并且对结果非常满意。
但是log4postsharp好像死了,这是真的吗?
我应该更专注于 ELMAH 吗?我真的很想继续使用 log4net ......
任何想法或见解真的很感激
谢谢