Laden...

.NET DLL einbinden ohne Verweisangabe

Erstellt von Vassili vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.972 Views
Vassili Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren
.NET DLL einbinden ohne Verweisangabe

Tach,

Ich möchte ein Projekt erstellen, dass wie ein Baukastenprinzip funktioniert. Ich möchte ein Programm mit DLL's erweitern, ohne die eigentliche Anwendung zu ersetzen. Die Anwendung sollte aber alle DLL's im eigenen Pfad starten können.

Als Beispiel:

Eine Exe, die nach allen DLL's im eigenen Ordner sucht und die Methode "Process()" ausführt.

Jede DLL enthält diese Methode. Diese enthält folgende Anweisung: MessageBox.Show("test");

kann mir da jemand nen tipp geben oder gibt es bereits einen Topic dazu?

S
709 Beiträge seit 2005
vor 18 Jahren

Such mal im Forum und per Google nach Reflection. Da solltest einiges finden.

Gruß,
SimonKnight6600

S
8.746 Beiträge seit 2005
vor 18 Jahren

Suche nach "plugin", da wirst du fündig. Das was du willst ist mit ein paar Zeilen Code machbar.

Vassili Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren

Auch wenn ich unter Reflection suche, finde ich nur Themen, die mitten in Reflection anfangen. was ist das überhaupt?

6.862 Beiträge seit 2003
vor 18 Jahren

Such nach Plugin - das trifft dein Vorhaben eher.

Mit Reflection kannst du prinzipiell auf die erweiterten Typinformationen und Attribute eines Typs zugreifen. Damit ist es dann möglich aufzulisten was für Member, Methoden, Properties usw. ein Typ hat. Aber auch Typen nur vom Namen her zu instanzieren.

So geht das auch mit den Plugins. Du schreibst dir nen Interface das alle Dateien die du laden möchtest implementieren. Nun gehst du per Reflection alle Assemblys in einem Verzeichnis durch und wenn du irgendwo nen Typ findest der dein Interface implementiert, kannst du das instanzieren und nutzen.

Das ist dann angewandte Reflection 🙂

Baka wa shinanakya naoranai.

Mein XING Profil.

4.207 Beiträge seit 2003
vor 18 Jahren

Schau mal in mein Blog http://www.des-eisbaeren-blog.de zu den Themen "Service Locator" und "Microkernel" ...

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de

1.271 Beiträge seit 2005
vor 18 Jahren

Ein sehr schöner Artikel zum schreiben von Addins ist Building Applications with the SharpDevelop Core. Darin wird die Addin-Architektur von #Develop wirklich super beschrieben. Und das beste ist, dass die auch noch sau gut ist und man total flexibel ist. Ich träum schon fast davon, so schön find ich das 😄.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

S
8.746 Beiträge seit 2005
vor 18 Jahren

Ja, die #dev-core-Architektur ist gigantisch. Lädt zum Abkupfern geradezu ein.

Hier ein komplettes Freeware-Online-Buch zum SharpDevelop Core (Titel: "Dissecting a C# Application - Inside SharpDevelop"), die ultimative Fundgrube zum Thema PlugIns und C#!

http://www.computer-books.us/csharp_3.php

S
709 Beiträge seit 2005
vor 18 Jahren

Hallo svenson!

Das Buch bezieht sich auf Version 1 der Architektur. Man müsste also die ICSharpCode.Core Library von #develop Version 1.x nehmen, denn es hat sich einiges in Version 2 getan.

Gruß,
SimonKnight6600

1.271 Beiträge seit 2005
vor 18 Jahren

Vom Grundprinzip her ist es aber, soviel ich weiß, gleich geblieben (ich hab in dem Buch bis jetzt aber nur geschmökert). Das Buch finde ich aber toll, weil da noch viel mehr geschrieben wird. Und wie der Titel schon sagt "zerlegt es eine C#-Anwendung" (eben #Develop) und ist somit perfekt für alle, die sich schon mal heillos im Code von #Develop verlaufen haben (und das sind ziemlich viele).

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

Vassili Themenstarter:in
187 Beiträge seit 2005
vor 18 Jahren

Plugins / Verweislose DLL erstellen mit Interface

Die seite finde ich ziemlich gut für Plugins. Das ist absolutes Neuland für mich. Bin mit den Seiten, die Ihr mir vorgeschlagen habt, nicht ganz klar gekommen. Sorry