2011-08-30 4 views
5

Estoy tratando de modificar la aplicación de rastreo de muestra que se envía con Postsharp para que el seguimiento se aplique a todas las clases en mi espacio de nombres sin poner explícitamente el [QuickTrace] parte superior de cada clase. He adjuntado una captura de pantalla. Qué estoy haciendo mal ? Haga clic con el botón derecho para abrir/ver la imagen para obtener una imagen más grande. graciascómo aplicar una solución de aspecto Postsharp amplia (todas las clases en el espacio de nombres)

enter image description here

+1

Créame, usted no quiere hacer esto .. –

+0

Cuando se traza una gran aplicación para entender lo que está haciendo, es mejor para trazar el primer y luego desactivar selectivamente clases/métodos que no son necesarios a medida que comienza a entender. Solo es mi opinión. gracias – Gullu

Respuesta

4

Lo estás haciendo de forma incorrecta. Está intentando asignar los aspectos al mscorelib que ajustará las llamadas a cualquier método que resida en el mscorelib (no su aplicación actual), pero lo niega con el hecho de que le está diciendo que se aplique a los métodos solo en el espacio de nombres Trace.

sólo tiene que utilizar

[assembly: QuickTrace()] 

Done. En su aspecto, agregue la siguiente

[QuickTrace(AttributeExclude=True)] 
[Serializable] 
public QuickTrace : OnMethodBoundaryAspect 
{ 
    //..Aspect code here 
} 
+0

Actualizado mi respuesta. Debe excluir que su aspecto se aplique a su aspecto. –

+0

Compila ahora pero no hay líneas de trazado impresas en la consola. Casi como si toda la solución/proyecto estuviera excluido. En el espacio de nombre de programa.cs anterior Rastreo tengo [ensamblado: QuickTrace (AttributeExclude = true)] gracias – Gullu

+0

No, lo agrega a su clase ASPECT. Lo estás excluyendo de todo ahora. –

Cuestiones relacionadas