Referenzen einbinden

goela

Erfahrenes Mitglied
Hallo,
eine allgemeine Frage zu Referenzen!

Was ist die richtige Methode Referenzen in VS.NET zu setzen?

Konkret:
- Projekt aus Hauptanwendung und verschiedenen Custom Controls.

Für meine Hauptanwendung muss ich nun die Referenz der Custom Controls verlinken. Dazu habe ich im Dialog "Add Reference" die Möglichkeit unter dem Register ".NET" die Komponente als DLL hinzuzufügen oder unter "Projects" das Projekt der Komponente.

Ich frage mich, wenn ich die DLL als Referenz angebe, dann muss ich mich ja entscheiden ob ich die Release- oder Debug-Referenz angebe. Führt dies nicht zu Probleme oder Seiteneffekte? Generell geht dies ja!

Gebe ich jedoch das Projekt der Komponente an, so stellt sich die Referenz je nach Konfiguration auf Debug oder Release um?

Was ist nun die bessere Variante?

Danke!
 
Dafür muss man sich erstmal Gedanken machen was Debug & Release bedeutet.

Der Debug modus ist für Testzwecke gedacht.
Da werden zB alle wichtigen Ereignisse in die Trace geschrieben.
Zudem kann man auch den Compiler in der Hinsicht beeinflussen,
dass nur bestimmte Codeabschnitte kompiliert werden,
in denen best Dinge getestet werden können.
Mit
Code:
#if DEBUG
	[Debug-Code]
	Trace.WriteLine( MyStatusObj, "Class.Method - Something happened")
#else
	[release-Code]
#endif
oder einfach nur
Code:
#if DEBUG
	[Debug-Code]
	Trace.WriteLine( MyStatusObj, "Class.Method - Something happened")
#endif
kannst die Codeabschschitte untergliedern.
Das klappt genau so auch mit Methoden.
( Btw. [System.Diagnostics.Conditional( "DEBUG" )] )
Der wichtigste Punkt ist aber das für die EXE oder DLL Debugging Informationen erstellt werden
( MyNETAssembly.pdb ) mit denen das JIT-Debuggen überhaupt erst möglich wird.

In Release Modus hingegen wird die EXE DLL ohne diesen ganzen Kram kompiliert,
weil diese Dinge nicht mehr gebraucht werden,
da mit deren Hilfe ja alles schon getestet worden ist.
Somit wird die NET Assembly auch wieder ein bissel kleiner und schneller
und kann sich jetzt vollkommen auf das "konzentieren" wofür sie dedacht ist. :)

Stichwort: Configuration Propertys
-----------
Gebe ich jedoch das Projekt der Komponente an, so stellt sich die Referenz je nach Konfiguration auf Debug oder Release um?
Natürlich. :)
Es währe unsinnig wenn man das in den Fall händisch machen müsste.
Dafür ist die IDE doch da.

MfG, cosmo
 
Zurück