Sto provando a modificare l'app di traccia di esempio fornita con Postsharp in modo che la traccia venga applicata a tutte le classi nel mio spazio dei nomi senza esplicitamente mettere [QuickTrace] su in cima a ogni classe. Ho allegato uno screenshot. Che cosa sto facendo di sbagliato ? Fai clic con il pulsante destro del mouse per visualizzare l'immagine ingrandita. graziecome applicare una soluzione di aspetto Postsharp ampia (tutte le classi nello spazio dei nomi)
risposta
Lo stai facendo in modo non corretto. Stai tentando di assegnare gli aspetti a mscorelib che invierà le chiamate a qualsiasi metodo che risiede in mscorelib (non nella tua app corrente) ma lo stai negando con il fatto che stai dicendo di applicare a metodi solo in lo spazio dei nomi Trace.
Basta usare
[assembly: QuickTrace()]
Done. Sul vostro aspetto, aggiungere il seguente
[QuickTrace(AttributeExclude=True)]
[Serializable]
public QuickTrace : OnMethodBoundaryAspect
{
//..Aspect code here
}
Aggiornato la mia risposta. Devi escludere il tuo aspetto dall'applicazione al tuo aspetto. –
Compila ora ma non ci sono linee di traccia stampate sulla console. Quasi come l'intera soluzione/progetto è escluso. In program.cs sopra namespace Trace I ha [assembly: QuickTrace (AttributeExclude = true)] grazie – Gullu
No, lo aggiungi alla tua classe ASPECT. Lo stai escludendo da tutto ora. –
- 1. Sostituire le classi nello spazio dei nomi di sistema
- 2. Spazio dei nomi XSD nello spazio dei nomi C#
- 3. Ottieni l'elenco delle classi nello spazio dei nomi in C#
- 4. Classe privata nello spazio dei nomi
- 5. Interrompi DataContractSerializer mettendo nello spazio dei nomi?
- 6. C# aggiungi utilizzando la dichiarazione per lo spazio dei nomi per tutte le classi
- 7. Il nome di tipo o spazio dei nomi 'Linq' non esiste nello spazio dei nomi 'Sistema'
- 8. Il nome dello spazio dei nomi 'Oggetti' non esiste nello spazio dei nomi 'System.Data'
- 9. Più di una tabella trovata nello spazio dei nomi (,) - SchemaExtractionException
- 10. Come posso ottenere tutte le classi in uno spazio dei nomi?
- 11. Il nome dello spazio dei nomi 'Transactions' non esiste nello spazio dei nomi 'System'
- 12. Il tipo o spazio dei nomi 'App' non esiste nello spazio dei nomi corrente
- 13. Python - importazione di classi di pacchetti nello spazio dei nomi globale della console
- 14. Le interfacce dovrebbero vivere nello stesso spazio dei nomi delle classi concrete che li implementano?
- 15. Nome tipo o spazio dei nomi 'Dati' non esiste nello spazio dei nomi 'Sistema'
- 16. spazio dei nomi tag0 aggiunto per gli elementi nello spazio dei nomi predefinito
- 17. Riferimento ambiguo nello spazio nomi
- 18. Il nome o lo spazio dei nomi 'Linq' non esiste nello spazio dei nomi 'System.Data'
- 19. Come tradurre il modello nello spazio dei nomi?
- 20. Il nome o lo spazio dei nomi 'Http' non esiste nello spazio dei nomi 'System.Net'
- 21. Il tipo o il nome dello spazio dei nomi 'DirectoryServices' non esiste nello spazio dei nomi?
- 22. Il nome dello spazio dei nomi 'TeamFoundation' non esiste nello spazio dei nomi 'Microsoft'
- 23. nome o spazio dei nomi non esiste nello spazio dei nomi
- 24. utilizzando XElement per richiedere un nodo nello spazio dei nomi
- 25. Come generare il controller nello spazio dei nomi nelle guide
- 26. Spazio dei nomi CLR non definito - Nessuna soluzione trovata
- 27. "template" uno spazio dei nomi
- 28. Come sovrascrivere una funzione non visibile nello spazio dei nomi del pacchetto?
- 29. Trovare tutte le funzioni nello spazio di lavoro corrente
- 30. Come definire gli amici nello spazio dei nomi globale all'interno di un altro spazio dei nomi C++?
mi creda, non si vuole fare questo .. –
Quando tracciando un grande app per capire di cosa si sta facendo, è meglio prima traccia tutto e poi selettivamente disabilita classi/metodi che non sono richiesti quando inizi a capire. Solo la mia opinione. grazie – Gullu