2017-02-09 5 views
0

멀티 캐스트 속성을 public으로 설정하여 내부 및 개인 메소드를 제외했지만 운이 없었습니다. PostSharp - mscorlib -> System.DateTime 적용시 System.InvalidOperationException

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using PostSharp.Aspects; 
using PostSharp.Extensibility; 

[assembly: test.AOP(AttributeTargetAssemblies = "mscorlib", 
    AttributeTargetTypes = "System.DateTime")] 

namespace test 
{ 
    [Serializable] 
    [MulticastAttributeUsage(TargetMemberAttributes = MulticastAttributes.Public)] 
    class AOP : OnMethodBoundaryAspect 
    { 
     public override void OnEntry(MethodExecutionArgs args) 
     { 
      Console.WriteLine("Entry: " + args.Method.Name); 
     } 
    } 
} 

이 단지 같은 코드 뭔가의 아무 곳이나 전화를 테스트하려면 :

DateTime dt = DateTime.Now.Date; 

은 내가 날짜 부분은 문제를 일으키는 생각합니다. 해결책은 그것을 제외 할 수 있지만 다른 방법으로 미래에 발생할 수 있으므로 더 확실한 해결책이 필요합니다.

+0

이것은 weaved 코드의 버그처럼 보입니다. 신고 해 주셔서 감사합니다. 우리는 그것이 고쳐지 자마자 알려 드릴 것입니다. –

답변

1

이 버그는 PostSharp 4.3.30 및 PostSharp 5.0.21 이후로 수정되었습니다.