Zitat von Alex
Gib lieber ma Source wie so eine DLL ausguggn muss, damit deine Engine das mag 
Ist relativ einfach: Du erstellst eine Klassenbibliothek. (Name: xyz.gadget, das .gadget ist wichtig. Am Ende muss die dll nämlich xyz.gadget.dll heißen) Dann erstellst du 2 Verweise: Einen auf System.Windows.Forms und einen auf die SidebarInterface.dll
Dann fügst du deinem Projekt ein Usercontrol hinzu, designst das und so weiter.
Dann widmest du dich der eigentlichen Klasse des Gadgets und schreibst rein:
Implements SidebarInterface.SidebarInterface
Und drückst Enter. Dann sollte sich folgendes Bild ergeben:
Public Class Class1
Implements SidebarInterface.SidebarInterface
Public ReadOnly Property Author() As String Implements SidebarInterface.SidebarInterface.Author
Get
End Get
End Property
Public Function Initialize() As System.Windows.Forms.UserControl Implements SidebarInterface.SidebarInterface.Initialize
End Function
Public ReadOnly Property Name() As String Implements SidebarInterface.SidebarInterface.Name
Get
End Get
End Property
Public Property Settings() As String Implements SidebarInterface.SidebarInterface.Settings
Get
End Get
Set(ByVal value As String)
End Set
End Property
Public ReadOnly Property Version() As String Implements SidebarInterface.SidebarInterface.Version
Get
End Get
End Property
End Class
Alles anzeigen
So. Die Initialize-Funktion muss eine Instanz deines Usercontrols zurückgeben.
Bei Author kannste deinen Namen zurückgeben.
Name ist der Name des Gadgets, ist aber relativ sinnlos da was zurückzugeben, da das noch nicht implementiert ist, Name des Gadgets ist derzeit noch der Teil vor dem gadget.dll. Aber wäre besser, da vielleicht irgendwas zurückzugeben.
Version ist die Version als String, ist aber auch noch nicht weiter implementiert.
Und Settings:
Das sind die Einstellungen des Gadgets. Die werden als String gespeichert und Gelesen, wie du die verwaltest, bleibt dir überlassen.
Das fertige Gadget legst du ins Verzeichnis \Gadgets\ Und es sollte funktionieren.
Hoffe, ich hab nix vergessen...
EDIT: Wenn man ein Gadget erstellt, das auf .NET > 2.0 aufbaut, dann weiß ich aber nicht, wie sich das verhält...