Klassenbibliothek - Problem mit Assembly

Hallo zusammen!

Bschäftige mich schon seit einigen Tagen mit der Registrierung meiner Assemblies. Vielleicht hat jemand einen Tipp für mich. Hier mein Problem.

Ich habe in VB.Net eine Klassenbibliothek erstellt und erhalte eine dll sowie eine tlb. In den Projekteigenschaften habe ich die Eigenschaft „Für Com-Interop registrieren“ auf true gesetzt. Im OLE/COM Object Viewer werden mir alle Funktionen meiner Klasse angezeigt, so dass ich davon ausgehe, dass alles korrekt angelegt ist. Hier der Code meines Testprojektes. Ich habe absichtlich nur eine Testfunktion eingefügt, die nur eine simple Messagebox zeigen soll.

Code:
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Runtime.InteropServices

_
Public Class TA
Inherits System.ComponentModel.Component

#Region " Vom Component Designer generierter Code "

Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()

'Für Support von Windows.Forms-Klassenkompositions-Designer
Container.Add(Me)
End Sub

Public Sub New()
MyBase.New()

’ Dieser Aufruf ist für den Komponenten-Designer erforderlich.
InitializeComponent()

’ Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen

End Sub

'Die Komponente überschreibt den Löschvorgang zum Bereinigen der Komponentenliste.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

’ Für Komponenten-Designer erforderlich
Private components As System.ComponentModel.IContainer

'HINWEIS: Die folgende Prozedur ist für den Komponenten-Designer erforderlich
'Sie kann mit dem Komponenten-Designer modifiziert werden.
'Verwenden Sie nicht den Code-Editor zur Bearbeitung.
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub

#End Region

_
Public Function test()
MessageBox.Show(„Test“)
End Function

End Class

Danach wollte ich die dll und tlb registrieren. Folgende Funktionen habe ich im Command-Prompt ausgeführt-

regasm testAssembly.dll
regasm testAssembly.dll /regfile:testAssembly.reg
regasm testAssembly.dll /tlb:testAssembly.tlb

Danach habe ich die testAssembly.reg Datei geöffnet um den Key in der Registry einzutragen. In einer anderen Anwendung habe ich dann die DLL eingebunden und es traten diverse Fehler auf. Habe dann in einigen Foren gelesen, dass die Assembly einen starken Namen haben muss und versucht mit dem SN Tool einen zu erzeugen. Was allerdings nicht geklappt hat.

Folgende Befehle habe ich dazu ausgeführt.

sn -k key.snk
Allerdings hat das nicht funktioniert. Fehler: Ein Strong-Schlüsselpaar konnte nicht generiert werden – Der registrierte Schlüsselsatz ist nicht definiert.

Was muss noch getan werden?

Vielen Dank.