
Der Post scheint wie aus einer vergangen Zeit (COM???), aber ich hatte erst kürzlich damit zutun. Ich hab ehrlich gesagt auch sehr wenig Ahnung was COM überhaupt macht, aber ich hatte die Aufgabe in einer bestehenden COM-Register-Function Code zu ändern. Ohne Debugging ist das allerdings etwas heiss.
ComRegisterFunction & ComUnregisterFunction
Vereinfacht: Die Methode die mit den Attributen versehen ist, werden bei der jeweiligen Aktion aufgerufen.
[ComVisible(true)] [Guid("E041712F-D936-4B5B-A3F0-5DB66C4634B0"), ProgId("Foobar")] public class Foobar { [ComRegisterFunction] public static void RegisterFunction(Type type) { Console.WriteLine("Register of Foobar..."); } [ComUnregisterFunction] public static void UnregisterFuntion(Type type) { Console.WriteLine("Unregister of Foobar..."); } public string Buzz() { return Guid.NewGuid().ToString(); } }
Das Registrieren übernimmt das Tool “RegAsm”
Das Tool befindet sich hier (bzw. im jeweiligen Framework Order):
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe
Beim Aufruf des Tools + Angabe der Assembly wird auch unser Code ausgeführt:
Zum Debugging
Zum Debuggen muss man das Projekt nur auf das regasm.exe Tool lenken und den Output als Argument mit angeben:
Damit sollte auch das Debugging funktionieren:
Hoffentlich braucht ihr das nicht allzu oft