"Registrieren für COM Interop" vs "Make Assembly COM sichtbar"

Was ist der wirkliche Unterschied zwischen diesen beiden Optionen? Was ich weiß ist:

Für COM-Interop registrieren

Diese Optionen führt regasm auf die Montage und registriert die assembly als COM-Komponente(oder vielleicht auch nicht) in der registry, die mit allen COM-wie registry-Einträge.
Funktioniert dieser Schritt erzeugt ein TLB-Datei? Was ist sonst noch getan?

Manchmal sehe ich eine tlb generiert wird, wenn ich das Projekt kompilieren aber manchmal nicht, warum das so ist?

Make assembly COM-sichtbar

Was hat das für Auswirkungen hat auf einer Versammlung? Wenn ich den folgenden Typ in dieser assembly, brauche ich dann noch angeben das "Make assembly COM-Sichtbar", obwohl mein Typ ist gekennzeichnet als ComVisible?

[GuidAttribute("02810C22-3FF2-4fc2-A7FD-5E103446DEB0"), ComVisible(true)]
public interface IMyInterface
{
}

InformationsquelleAutor der Frage A9S6 | 2010-09-13

Schreibe einen Kommentar