Beim Versuch mein vsPackage für die Implementierung von Interfaces ein wenig zu erweitern, bin ich auch ein seltsames Problem gestoßen.
Über die vom AddIn erzeugten Getter und Setter wollte ich ein Attribute per Code setzen. Hierfür gibt es eigentlich die Methode “AddAttribute”…Gesagt getan…hier der Code:

CodeFunction getter = prop.Getter;
getter.Attributes("MyAttribute", "myValue", -1);

Der Compiler erzeugt alles ganz brav und startet das vsPackage im Visual Studio Hive. Alles fein…naja vielleicht bis auf, wenn man das AddIn benutzen will.
An besagter Stelle kommt eine sehr aussagekräftige Exception mit der Meldung “Unbekannter Fehler”. Komisch ist nur, das die Methode wohl nur auf den Gettern bzw. Settern(CodeFunction) Probleme macht. Bei “CodeProperty” bzw. “CodeClass” funktioniert alles wunderbar….

Wenn es Euch mal wieder zu langweilig ist, guckt Euch doch dieses Flash-Spiel an:

Bloxorz

Link

Eins meiner ersten Ziele, nach der Installation von Visual Studio 2008, war es, eine Erweiterung für Visual Studio zu schreiben, die alle Details eines Interfaces in einer davon abgeleiteten Klasse implementiert. Ja ich weiß, Visual Studio bring eine solche Funktion mit, aber diese erzeugt weder die benötigten Variablen, noch füllt sie die Getter und Setter mit den tatsächlichen Zuweisungen. Als ich die Erweiterung fertig hatte (mehr dazu in einem anderen Beitrag), wollte ich ein Setup erstellen, um es an meine Kollegen weiterzugeben. Bei Microsoft fand ich ein sehr gutes How to, das mir das Erstellen meines Setups Schritt für Schritt erklärte (How To Deploy a vsPackage Video for Visual Studio 2005). Dieses How to ist zwar für Visual Studio 2005, das ist kein Problem.

In einem der Schritte werden die Registry-Einstellungen festgelegt. Dafür wird das Commandline-Tool RegPkg.exe verwendet. Ihr findet es im Visual Studio SDK-Ordner (Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Tools\Bin\). Mit dem Parameter “/root” wird der Pfad zu Visual Studio festgelegt. An dieser Stelle muß man vorsichtig sein. Wenn man hinter dem letzten Ordnername des Pfades einen Backslash hat (z.B. /root:SOFTWARE\Microsoft\VisualStudio\9.0\), dann generiert RegPkg.exe eine Reg-Datei mit doppeltem und damit falschem Backslash.

Ich mußte recht lange suchen, bis ich diesen recht unschönen Fehler gefunden hatte.

larshildebrandt.de ist online und Ihr befindet Euch gerade auf dem dazugehörigen Blog. Dieser Blog wird sich bald mit vielen Beiträgen zu .net, c#, asp.net, delphi, joomla und vielen anderen Themen füllen….

Hier ein paar Details zu mir:

Mein Name ist Lars Hildebrandt. Ich bin 30 Jahre alt und lebe seit mittlerweile gut 10 Jahren in Hamburg. Geboren wurde ich in Rostock, wo ich auch die ersten 20 Jahre meines Lebens verbrachte.

Ich bin als Softwareentwickler für die Bauer Systems KG tätig. Die Bauer Systems KG ist der technische Dienstleister der Bauer Verlagsgruppe.

Wer noch mehr über mich erfahren möchte, guckt einfach mal auf mein Xing-Profil.

« Vorherige Seite