Hi, ich habe hier eine Konsolenanwendung in C# unter Visual Studio 2019 gemacht. Dafür habe ich mir aus einem Projekt von jemand anderem eine Klasse dazu kopiert. Ursprünglich steckte die Klasse in einer Dll. Ich hätte aber gerne nur eine Exe. Obwohl ich nur die CS-Dateien in mein Projekt mit reinkopiert habe, erstellt mir Visual Studio eine Exe und eine Dll im Ausgabeverzeichnis. Woher weiß er, dass das mal eine Dll war?
Kann es denn sein, das du davor mit der ursprünglichen DLL experimentiert hast und vergessen hast den Verweis wieder zu entfernen?
Nachdem ich die .dll erstellt hatte, habe ich ein komplett neue Solution mit einem Projekt Konsolenanwendung in einem neuen Verzeichnis erstellt. Dahinein habe ich nur .cs-Dateien kopiert. Wenn ich dort die Ordner BIN und OBJ lösche, wird die Dll immer wieder erzeugt.
Paul schrieb: > Wenn ich dort die Ordner BIN und OBJ lösche, wird die Dll immer wieder > erzeugt. Und die *.exe ebenfalls? Eigentlich stellt man das in den Projekteinstellungen ein: Projekt -> Eigenschaften -> Anwendung -> Ausgabetyp
NEIN. Du musst (jedenfalls bei VB) VORHER entscheiden was du erstellst. In deinen FOTO eine Klassenbibliothek. Wenn du nun einen EXE erzeugen willst, die eine Libs hat, musst du das wei folgt machen. Du stellst in den Fenster aus deinen Foto die EXE ein (Sollte schon da stehen wenn du den Assistenten nutzt. Dann klickst du auf VERWEISE und gibst dort !!! die DLL o.ä. an. Und den Pfad. Nun muss du die in JEDER Form wo du auf diese DLL zugreifen willst, sie via INCLUDE einbinden. Und kannst dann in der Form auf die Befehle zugreifen. z.b. du erstellst eine DLL wo nur Funktionen drin sind z.b. Datum_in_Monat(monat as integer). Die speicherst du unter FUNKI ab. In deinen EXE-Programm gibst du unter VERWEISE die Datei FUNKI.DLL an. ALS ERSTE ZEILE deiner FORM gibst du #INCLUDE FUNKI ein (Syntax VC mäßig) Aufrufen tust du das dann so. Monatsname = funki.Datum_in_Monat(3) Dann ist Monatsname = "März". Nur ein einfaches Beispiel eine von > 100 Funktionen die ich in meinen eigenen Dll's habe. Darin habe ich übrigens auch Formen die verbesserte MSG-BOXEN zurück liefern. die MSGBOX ist einfach klein + Hässlich ;) Meine passt sich aufgrund der Schriftgröße automatisch an. ;) Und lässt bis zu 4 Buttons zu, Mehrzeiligen Text etc. Pro Programm brauche ich dann nur noch Verweise und Include machen, und habe Meterlangen Code zu verfügung. Das der Vorteil von DLL's die man selber schreibt. Ich habe allein über 20 Datums-Funktionen selbst geschrieben. ;) Macht richtig Spass und spart mega Zeit wenn man das Rad nicht x-mal erfinden muss.;:) Hinweis noch : VB (ich denke auch VC) verlinkt JEDE DLL in seine Projekte die im Verweis stehen. Ich vermute (ist mir nie passiert) das es sogar Stress macht wenn es was nicht findet).
Ich glaube, Paul wollte nur die Klasse haben und nicht die anderen Funktionen der DLL nutzen. Den Quellcode der ganzen DLL (Projekt) scheint er ja zu haben. Da müßte er doch nur den Ausgabetyp ändern.
dll schrieb: > Schlaumaier schrieb: >> über 20 Datums-Funktionen Nein. :) Das Problem ist die TODAY Funktion die so lausig zu tippen ist. z.b. heute = lib.datum_falsch(today.now) liefert Heute = "2021-09-13" Datum_beschreibung = lib.datum_text(today.now, "tmj", ".") Datum_beschreibung = "9. September 2021" Datum_wochentag = lib.datum_wochentag(today.now) Datum_wochentag = "Montag" Datum_wochentag_klein = lib.datum_wochentag_klein(today.now) Datum_wochentag_klein = "Mo" Das selbe mit den Namen des Monats. U.s.w. Und JA ich hätte diese Funktionen alle in 1 packen können. Aber es ist halt so gewachsen. ;) Und ich mag keine Optionalen Parameter. Weil man dann die Funktionen in anderes Software anpassen muss, wenn man mehr als einen Optionalen Parameter hat. So wähle ich in der liste nur noch aus wenn in LIB.D getippt habe. :) Ich muss sehr oft mit Datumsangaben arbeiten. Für Überschriften + Stand bei Dokumenten. In Datenbanken etc. Wenn man z.b. das Datum falsch herum in einen Textfeld im Format jjjj-mm-tt abspeichert in eine Abfrage eine Zeitraum 10 x einfacher als wenn man sich mit Datumsfunktionen herum plagt. Davon abgesehen sind diese Datums global lesbar, ohne die Localen Eigenschaften des Landes. Ergo hat man ein Datumsbackup. Und wenn ich irgend eine Schreibweise aus einen Datum brauche, fummele ich die mir 1 x zusammen und dann wird das eine Funktion. Ich habe seit ich Programmiere z.b. noch NIE eine Systemfunktion direkt aufgerufen, sondern IMMER durch eine eigene Lib oder durch einen Funktion im Programm. Grund : Wenn MS die Aufrufparameter / Typen der Funktion ändert muss ich das nur 1 x ändern. Wenn sie die Funktion entfernen, schreibe ich sie halt neu. Mir doch egal. Davon abgesehen bin ich viel zu faul, Codes in jede Menge Programmen zu pflegen wenn ich mal ein Logischen Fehler in einer Funktion habe.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.