Laden...

Problem mit [Conditional("DEBUG")] bei voneinander abhängigen Projekten

Erstellt von TripleX vor 14 Jahren Letzter Beitrag vor 14 Jahren 888 Views
TripleX Themenstarter:in
328 Beiträge seit 2006
vor 14 Jahren
Problem mit [Conditional("DEBUG")] bei voneinander abhängigen Projekten

Hallo Gemeinde,

ich habe ein Projekt A, wo bei einer Funktion angegeben ist, dass sie nur im Debug-Build vorhanden sein soll. In einem anderen Projekt B habe ich Projekt A (Release Build) als Referenz hinzugefügt. Nun würde ich aber gerne wenn ich Projekt B im Debug-Mode starte, gerne auf diese Funktionen von Projekt A zugreifen. Doch diese gibt es natürlich nicht, da sie ja nur im Debug-Build vorhanden sind.

Natürlich könnte ich in Projekt B einfach den Debug-Build von Projekt A referenzieren, doch damit wäre ich nicht wirklich zufrieden, da ich am Ende dann die Referenzen wieder umtauschen muss (und sowas würde ich bestimmt vergessen *g)

Gibts für dieses Problem eine Lösung?

Konkret geht es bei Projekt A um Cinch (WPF-FrameWork), diese hat eine Funktion wie VerifyPropertyName welche automatisch aufgerufen wird, wenn ich NotifyPropertyChanged aufrufe, und diese überprüft ob der Name des Properties überhaupt vorhanden ist. Wenn sie nicht vorhanden ist, gibts ne Exception. Allerdings gibts diesen Service halt nur im DebugBuild (was ich auch gut finde, denn im Release _sollte _ja alles funktionieren und da braucht man die Funktion nicht.)

MfG TripleX

Träume nicht dein Leben sondern lebe deinen Traum.
Viele Grüße, David Teck

F
10.010 Beiträge seit 2004
vor 14 Jahren

Nein, es gibt keine andere Lösung, es sei denn du willst all die conditional definierten
Funktionen umschreiben und dort dann stattdessen ein

if( System.Diagnostics.Debugger.IsAttached)...

einfügen.

T
111 Beiträge seit 2005
vor 14 Jahren

Hallo

Du kannst beide Projekte unter VS in eine Solution packen und bei der Referenz nicht die fertige DLL, sondern das andere Projekt angeben (Add Reference / Projects). Dann werden beide in den Debug- oder Releasemodus geschalten.

lG
Thomas