System.AddIn erlaubt es einem AddIns zu erstellen. Allerdings erzeugt der eigentlich sehr pracktische PipelineBuilder Code der nicht ohne weiteres funktioniert. Hier mal eine Reihe von Dingen die man prüfen sollte wenn die AddIns nicht gefunden werden:

  • AddInStore.Update/Rebuild gibt ein String Array mit Warnungen zurück. Unbedingt auswerten!
  • Bei Problemen als erstes immer das output Directory sofort löschen ( bis auf die *.VSHost.exe, die ist gelockt )
  • Das Contract Interface muss mit Contract enden, in dem AddInView und im HostView fehlt dann die Endung.
  • Der Contract muss sowohl das Contract Attribute haben als auch von IContract erben
  • Das AddIn sollte das AddIn Attribute tragen sonst kann es nur über den Type gefunden werden.
  • Referenzen auf HostView oder AddInView dürfen niemals Local Copy auf true haben.
  • Die Directorystruktur mit Addins, Contracts usw muss strikt eingehalten werden
  • Die vom Assemblynamen der vom Pipelinebuilder erzeugten Projekte heißen alle template.dll. Unbedingt ändern.
  • Fehlermeldungen unterscheiden sich häufiger mal nach dem 2. Build.

Wenn nichts geht, mal alle obj Verzeichnisse  und natürlich das output Verzeichnis von Hand löschen.

Für meinen Geschmack viel zu viele Möglichkeiten Fehler zu machen. Ich gebe zu der Einstieg in System.AddIn ist nicht gerade einladend. Ich bin mir auch noch nicht sicher ob sich der Aufwand wirklich lohnt, bisher konnte ich recht gut auf Versionierung verzichten und habe halt eine Neucompilierung bei neuer Schnittstelle gefordert. Geht solange es nur eine Handvoll Plugin Bauer gibt.

Noch wird mein AddIn nicht gefunden. Morgen weitersehen 😦

Advertisements