Entwickler-Ecke
C# - Die Sprache - Klassenbibliothek kompilieren
enton - Mo 15.10.07 11:55
Titel: Klassenbibliothek kompilieren
Hallo
Ich hab neu mit Visual C# angefangen und habe ein Problem:
Ich möchte eine Klassenbibliothek kompilieren, um die Dll dann in einer anderen Klasse benutzen zu können.
Da die Klassenbibliothek jedoch nicht ausführbar ist, kann ich sie nicht direkt kompilieren.
Visual C# bringt mir dann ne meldung, das ich in einer ausführbaren Klasse ein Verweiß auf die Klassenbibliothek geben soll
und sie so dann kompiliert werden würde. Das funktioniert aber nicht. Es wird keine Dll erzeugt. Ich sitze da jetzt schon über 6 Stunden dran, hab mich durch sämtliche Hilfen und Foren "gekämpft" habe aber nichts dazu gefunden.
Wäre nett wenn mir jemand helfen könnte.
JüTho - Mo 15.10.07 12:16
Titel: Re: Klassenbibliothek kompilieren
enton hat folgendes geschrieben: |
Hallo
Da die Klassenbibliothek jedoch nicht ausführbar ist, kann ich sie nicht direkt kompilieren. |
Das hat nichts miteinander zu tun. Unter NET sind alles Assemblies, die wahlweise als EXE (Anwendung) oder als DLL (Bibliothek) kompiliert werden. Dies wird eingestellt als "Ausgabe" der Projekt-Eigenschaften.
Der entscheidende Unterschied liegt darin, dass eine Anwendung
genau eine Main-Methode enthält und eine Bibliothek nicht.
enton hat folgendes geschrieben: |
Visual C# bringt mir dann ne meldung, das ich in einer ausführbaren Klasse ein Verweiß auf die Klassenbibliothek geben soll
und sie so dann kompiliert werden würde. |
Was ist eine "ausführbare" Klasse? "Verweise" sind "Referenzen". Vermutlich fehlt in einer Deiner Klassen ein Verweis auf eine NET-DLL. Im Ausgabefenster beim Kompilieren ist die Fehlermeldung genauer als im Fehler-Fenster.
Fehlersuche: Die Klasse, die nicht verarbeitet werden kann, notieren, in die SDK-Doku gehen und den Abschnitt "Informationen zur XXX-Klasse" aufrufen: am Anfang stehen der erforderliche Namespace (kann unter using eingetragen werden) und die dazugehörige DLL.
Abhilfe: Projekt-Explorer öffnen, auf Referenzen des betreffenden Projekts gehen, Rechtsklick, Referenzen hinzufügen, die betreffende DLL auswählen und einfügen.
enton hat folgendes geschrieben: |
Das funktioniert aber nicht. Es wird keine Dll erzeugt. Ich sitze da jetzt schon über 6 Stunden dran, hab mich durch sämtliche Hilfen und Foren "gekämpft" habe aber nichts dazu gefunden. |
"Das funktioniert aber nicht." ist keine ausreichende Fehlermeldung. Wenn wir Dir helfen sollen, benötigen wir genauere Informationen.
Aber das kann sich durch die anderen Hinweise erledigt haben.
Gruß Jürgen
Christian S. - Mo 15.10.07 14:31
Titel: Re: Klassenbibliothek kompilieren
JüTho hat folgendes geschrieben: |
enton hat folgendes geschrieben: | Visual C# bringt mir dann ne meldung, das ich in einer ausführbaren Klasse ein Verweiß auf die Klassenbibliothek geben soll
und sie so dann kompiliert werden würde. |
Was ist eine "ausführbare" Klasse? "Verweise" sind "Referenzen". Vermutlich fehlt in einer Deiner Klassen ein Verweis auf eine NET-DLL. |
Nein, diese Meldung bekommt man, wenn man versucht, eine Klassenbibliothek zu debuggen (also zu "starten"), ohne sie in einer Anwendung zu verwenden. Das geht natürlich nicht, man braucht eine Anwendung, welche die Methoden der Bibliothek aufruft.
JüTho - Mo 15.10.07 15:07
Titel: Re: Klassenbibliothek kompilieren
Christian S. hat folgendes geschrieben: |
Nein, diese Meldung bekommt man, wenn man versucht, eine Klassenbibliothek zu debuggen (also zu "starten"), ohne sie in einer Anwendung zu verwenden. Das geht natürlich nicht, man braucht eine Anwendung, welche die Methoden der Bibliothek aufruft. |
Ja, das könnte gemeint sein. enton hat ausschließlich von "kompilieren" gesprochen und nichts von "debuggen" oder "starten"; deshalb bin ich nicht auf eine solche Idee gekommen. Jürgen
enton - Mo 15.10.07 22:24
Christian S. hat recht. Ich wollte die Klassenbibliothek mit per Debugger kompilieren.(Schande über mich).
Mal noch ne ganz blöde Frage:
Wie kann ich in C# ne Klassenbibliothek kompilieren?
Ich finde da keinen Button oder so dafür.
Ich hab bisher immer nur Java benutzt. Da konnte man die Klassen direkt einbinden, ohne sie zu kompilieren. Bzw. das wurde beim Debuggen der Klasse mit der Main Methode automatisch gemacht. Daher hatte ich das Problem nie.
Bei Visual C# funktioniert das scheinbar leider nicht. Ich hab in der Konsolenanwendung , die auf die Methoden der Klassenbibliothek zugreifen soll, ein Verweiß auf die (noch nicht kompilierte) Klassenbiblothek eingestellt und dann die Konsolenanwendung debuggt. Dadurch wurde aber aber keine Dll der Klassenbibliothek erzeugt. Dann hab ich versucht die Klassenbibliothek direkt zu debuggen. Was natürlich nicht funktioniert hat.
Danke schon mal für eure Hilfe
enton
Christian S. - Mo 15.10.07 22:36
Hallo!
Wenn Du eine Bibliothek und eine Anwendung, welche diese Bibliothek nutzt in der selben Solution hast, wird die Bibliothek automatisch erstellt, wenn die Anwendung erstellt wird (sofern nicht eine aktuelle Version der Bibliothek vorliegt).
Möchtest Du die Bibliothek separat erstellen, nimmst Du den "Build"-Befehl. Den gibt's entweder im Hauptmenü oder im Kontextmenü der Bibliothek im Solution Explorer.
Grüße
Christian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!