Entwickler-Ecke

WinForms - Win Form eigene Bibliothek


Vegeto - Di 29.04.14 12:39
Titel: Win Form eigene Bibliothek
Hallo,

ich bin gerade dabei eine Win Form anwendung zu schreiben, hier habe ich im Projekt eine seperate Klasse.cs - Datei, diese möchte ich nun als Klassenbibliothek (.dll) exportiere, sodass ich diese bei anderen Win Forms nutzen kann.

In der Klasse.cs benutze ich einige weitere using's (Bsp.: using System.Configuration etc.) dazu musste ich auch die dazugehörige musste ich auch die dazugehörige Assembliy hinzufügen(das habe ich mittels rechtsklick auf Verweise und dann hinzufügen).
Doch jetzt stelle ich mir die Frage:
Wenn ich das jetzt exportiere muss ich in meiner neuen Win Form wo ich diese Klasse.cs benutzen möchte, muss ich dann dort die selben Assemblies dem Projekt hinzufügen wie bei der erstellung der Klasse und geschied das alles automatisch?

Lg


Th69 - Di 29.04.14 13:16

Hallo Vegeto,

du brauchst nur die Klassenbibliothek zu den Projekten hinzufügen. Nur wenn du Klassen oder Schnittstellen etc. aus abhängigen Bibliotheken als Parameter oder Rückgabewerte für öffentliche Methoden oder Eigenschaften aus dem Hauptprojekt heraus benutzt, so könnte es sinnvoll sein, auch diese abhängige Bibliothek als Verweis dem Projekt hinzuzufügen (wirklich erforderlich ist dies m.E. aber nicht).


Ralf Jansen - Di 29.04.14 13:37

Zitat:
(wirklich erforderlich ist dies m.E. aber nicht).



C#-Quelltext
1:
MeinTypAusAssemblyB variable = KlasseAusAssemblyA.GetSomething();                    


Es wird wohl eher nicht kompilieren wenn man nur AssemblyA aber nicht auch AssemblyB referenziert. ;)

Was man explizit benutzt muß man auch referenzieren. Bei impliziten Sachen braucht man das nicht da sie zur Designzeit nicht angesprochen werden und zur Laufzeit indirekt über eine andere Assembly geladen worden. (AssemblyA hat AssemblyB in den Prozessraum geladen). Aber wenn du dich fragst ob das geht oder nicht in diesem Fall kannst du dem Compiler vertrauen. Wenn er das kompiliert wird das auch funktionieren.


Vegeto - Di 29.04.14 13:51

Danke...

Hat sehr geholfen :)

Eine letzte frage zu Klassenbibliotheken habe ich noch, kann ich einem Projekt: Klassenbibliothek, eine config hinterlegen, wo die Dll dann daten zugreift?
oder sollte ich eine xml mittels derdll erstellen wo dann die daten(config) abgelegt werden sollten?

Lg


Ralf Jansen - Di 29.04.14 14:20

Wenn du den automatischen App.Config Mechanismus meinst dann nein. Der hängt immer zwangsweise an der ausführenden Assembly (dem Executable). Deine Klassenbibliothek kann darauf aber natürlich ganz normal zugreifen sie gehört aber halt zur Applikation und nicht zur Klassenbibliothek. Wenn du was Klassenbibliothekabhängiges Applikationsübergreifendes (also verschiedene Anwendungen die die gleiche Klassenbibliothek benutzen und auf die gleiche Config der Bibliothek schauen sollen) dann hindert dich natürlich keiner eine eigene Datei in welcher Form auch immer mit Einstellungen zu verwalten und irgendwo sinnvoll abzulegen.


Vegeto - Di 29.04.14 14:47

Hallo Ralf jansen,

dein erster Satz reicht mir vollkomen aus :)

Danke


Vegeto - Mi 30.04.14 10:02

Hallo,

tut mir leid ich bin es wieder.

ich verstehe das nicht, ich habe eine Bibliothek erstellt, dort werden auch andere Verweise benutzt etc.. Doch sobald ich meine eigene Bibliothek verwende kommt es zu einem Fehler :/
Gibt es eine möglichkeit die Veweise die in meiner bibliothek genutzt weden so einzubinden, dass SIe wenn meine Bibliothek eingefügt wird, diese auch eingefügt werden?

Lg