Postsharp와 함께 제공되는 샘플 추적 응용 프로그램을 수정하여 명시 적으로 [QuickTrace]를 켜지 않고 내 네임 스페이스의 모든 클래스에 추적을 적용하려고합니다. 각 클래스의 맨 위에. 스크린 샷을 첨부했습니다. 내가 도대체 뭘 잘못하고있는 겁니까 ? 큰 그림을 보려면 이미지를 마우스 오른쪽 버튼으로 클릭 /보기를 클릭하십시오. 고마워요Postsharp 애스펙트 솔루션을 적용하는 방법 (네임 스페이스의 모든 클래스)
답변
잘못하고 있습니다. mscorelib (현재 응용 프로그램이 아닌)에있는 메서드에 대한 호출을 래핑하는 mscorelib에 양상을 지정하려고 시도하고 있지만, 사용자가 해당 메서드에만 적용 할 것을 말하면 사실을 부정합니다. Trace 네임 스페이스.
그냥[assembly: QuickTrace()]
완료 사용할 수 있습니다. 귀하의 측면에서 다음
[QuickTrace(AttributeExclude=True)]
[Serializable]
public QuickTrace : OnMethodBoundaryAspect
{
//..Aspect code here
}
내 대답이 업데이트되었습니다. 귀하의 측면을 귀하의 측면에 적용되지 않도록 제외해야합니다. –
지금 컴파일하지만 콘솔에 추적 라인이 인쇄되지 않습니다. 거의 모든 솔루션/프로젝트가 제외되었습니다. 네임 스페이스 위에 program.cs 있음 Trace [assembly : QuickTrace (AttributeExclude = true)] 감사합니다 – Gullu
아니요, ASPECT 클래스에 추가하십시오. 당신은 지금 모든 것을 배제하고 있습니다. –
이 날 믿어 추가, 당신은 무엇을하고 있는지 이해하는 데 큰 응용 프로그램을 추적 할 때, 먼저 모든 것을 추적하는 것이 좋습니다 .. 이렇게 –
을 원하고 선택적으로 해제하지 않습니다 이해를 시작할 때 필요하지 않은 클래스/메소드. 그냥 내 의견. 감사합니다 – Gullu