Laden...

PostSharp "optional" hinzufügen

Erstellt von Uwe81 vor 12 Jahren Letzter Beitrag vor 12 Jahren 833 Views
U
Uwe81 Themenstarter:in
282 Beiträge seit 2008
vor 12 Jahren
PostSharp "optional" hinzufügen

Hallo!

Ich habe eine komplexere GUI-Komponente entwickelt, die bei uns im Haus oft verwendet wird. Leider treten dort auch manchmal Fehler auf, so dass ich gerne mittels Tracing den Ablauf vor Auftreten des Fehlers feststellen möchte.

Um nicht den ganzen Code zu verschmutzen, dachte ich, dass sei ein gutes Anwendungsfeld für PostSharp (meine erste Berührung mit AOP).

Wir arbeiten bei uns an unterschiedlichsten Projekten und haben unterschiedliche, frei konfigurierbare Entwicklungsumgebungen. Insbesondere wird sicherlich nicht jeder, der meine Komponente verwendet, PostSharp installieren wollen. Auch ist dieses Logging nicht überall sinnvoll.

Daher meine Frage: Kann man sowas in der Art gestalten, dass es z.B. 3 Projekte/Assemblies gibt:

MyLib.Core
MyLib.UnitTest
MyLib.Aspects

Leute, die das ganze verwenden, brauchen nur MyLib.Core (was idealerweise auch so übersetzbar ist)
Als Entwickler habe ich halt noch die UnitTests (und dementsprechend eine Abhängigkeit auf NUnit) und die Aspects (und die Abhängigkeit auf PostSharp).

Bei UnitTests funktioniert das gut: Der eigentliche Produktivcode weiß nichts, über deren Existenz. Bei den Aspects mit PostSharp habe ich vergleichbares nicht hinbekommen.

Was ich möchte: MyLib.Core soll über PostSharp nichts wissen und ohne PostSharp funktionsfähig kompilierbar sein. Aber ich möchte in einem zusätzlichen Build-Step (oder einer anderen Build-Konfiguration) die Möglichkeit haben Logging mittels PostSharp einzuweben.

Geht sowas? Ist AOP der falsche Ansatz?

Viele Grüße,
Uwe

U
Uwe81 Themenstarter:in
282 Beiträge seit 2008
vor 12 Jahren

Habe gerade noch folgenden Link gefunden:
Applying aspects to 3rd party assemblies using PostSharp