- Deaktivieren Sie im Dialogfeld Anwendungseigenschaften auf der Registerkarte Build im Bereich Ausgabe das Kontrollkästchen Für COM-Interop. registrieren.
- Erstellen Sie in demselben Ordner wie die Projektdatei eine Datei, und nennen Sie sie CSharpOEMAddIn.X.manifest, wobei CSharpOEMAddIn der Name des Zusatzmoduls ist. Fügen Sie der Manifestdatei die folgenden Zeilen hinzu. Bearbeiten Sie den kursiv angezeigten Text, sodass er Ihrem Zusatzmodul entspricht.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity name="InvAddIn" version="1.0.0.0" />
<clrClass clsid="{2bf59d73-5170-4524-b0e1-391760aaffa5}"
progid="CSharpOEMAddIn.StandardAddInServer"
threadingModel="Both"
name="CSharpOEMAddIn.StandardAddInServer"
runtimeVersion="" />
<file name="InvAddIn.dll" hashalg="SHA1" />
</assembly>
Im Feld Baugruppenname ist das Attribut des Elements assemblyIdentity der Name der Baugruppe, der in der folgenden Abbildung hervorgehoben ist.
Das Attribut name des Elements clrClass besteht aus zwei Teilen, die durch Punkte getrennt sind. Der erste ist der Name des Namespace, in dem die COM-Klasse definiert ist. In diesem Beispiel ist dies CSharpOEMAddIn, und der zweite Teil ist der Name der Klasse, die die ApplicationAddInServer-Schnittstelle StandardAddInServer implementiert. Beide sind in der folgenden Abbildung hervorgehoben.
- Fügen Sie einen Post-Build-Prozess hinzu, um dieses Manifest in die .dll zu integrieren. Der Post-Build-Prozess ruft mt.exe auf, ein Microsoft-Dienstprogramm, das das Manifest in die DLL-Datei des Zusatzmoduls einbettet. Klicken Sie im Dialogfeld Anwendungseigenschaften auf der Registerkarte Build-Ereignisse auf Post-build bearbeiten…
- . Geben Sie im Dialogfeld Befehlszeile für Post-Build-Ereignisse die folgende Zeichenfolge ein. Ersetzen Sie InvAddin durch den Namen des Zusatzmoduls.
call "%VS90COMNTOOLS%vsvars32"
mt.exe -manifest $(ProjectDir)\InvAddin.X.manifest -outputresource:"$(TargetPath)";#2
- Entfernen Sie den Code, mit dem das Zusatzmodul in der Registrierung registriert wird, indem Sie die Methoden Register und Unregister aus der Zusatzmodulklasse löschen. Die Funktion AddInGuid findet sich in demselben Bereich wie die Registrierungsfunktionen. Wenn Sie diese Eigenschaft in anderen Bereichen des Zusatzmoduls verwenden möchten, löschen Sie sie nicht.
- Kompilieren Sie das Projekt. Das Manifest wird in die DLL-Datei eingebettet. Falls beim Kompilieren Fehler auftreten, vergewissern Sie sich, ob die eingegebene Befehls zeichenfolge der Zeichenfolge aus Schritt 4 entspricht.
Um sicherzustellen, dass das Manifest korrekt eingebettet ist, ziehen Sie die Zusatzmodul-DLL in Visual Studio. Der Ordner "RT_MANIFEST" wird angezeigt, wie in der folgenden Abbildung dargestellt. Doppelklicken Sie auf das Symbol 2, um ein Fenster mit den tatsächlichen Manifestdaten anzuzeigen.
- Alle registrierungsfreien Zusatzmodule erfordern eine Zusatzmoduldatei (.addin). Bei einem registrierungsbasierten Zusatzmodul ruft Inventor Informationen zum Zusatzmodul aus der Registrierung ab. Die Zusatzmoduldatei (.addin) ersetzt die Registrierung und stellt dieselben Informationen bereit. Der Name der Zusatzmoduldatei hat das Format Autodesk.Zusatzmodulname.Inventor.addin. Die folgende Abbildung zeigt das Beispiel einer Zusatzmoduldatei für ein primäres Zusatzmodul, mit den zu ändernden Teilen in Kursivschrift.
<?xml version="1.0" encoding="utf-16"?>
<Addin Type="Standard">
<ClassId>{2bf59d73-5170-4524-b0e1-391760aaffa5}</ClassId>
<ClientId>{2bf59d73-5170-4524-b0e1-391760aaffa5}</ClientId>
<DisplayName>MyOEMApp</DisplayName>
<Description>Inventor OEM Sample App</Description>
<Assembly>MyOEMApp\MyOEMApp.dll</Assembly>
<Hidden>0</Hidden>
</Addin>
Beschreibungen der Elemente in der Beispiel-Zusatzmoduldatei:
- ClassId und ClientId: Beide haben denselben Wert, nämlich die GUID ganz oben in der Klasse StandardAddInServer.
- DisplayName: Kann ein beliebiger Wert sein; ist der Name des Zusatzmoduls wie im Zusatzmodul-Manager angezeigt.
- Description: Kann ein beliebiger Wert sein; ist die Beschreibung des Zusatzmoduls wie im Zusatzmodul-Manager angezeigt.
- Assembly: Definiert den Namen und Pfad der Zusatzmodul-DLL, relativ zum Ordner OEM\Bin. Der Unterordner muss denselben Namen wie die Zusatzmodul-DLL haben.
- Hidden: Definiert, ob das Zusatzmodul im Zusatzmodul-Manager sichtbar ist. Der Wert 1 gibt an, dass das Zusatzmodul ausgeblendet ist. Wenn Sie jedoch im Zusatzmodul-Manager mit der rechten Maustaste klicken und "Ausgeblendete Varianten anzeigen" wählen, werden alle Zusatzmodule angezeigt.
Es kann weitere Elemente geben, die für andere Zusatzmodule definiert sind und die für ein primäres OEM-Zusatzmodul entweder nicht gültig sind oder ignoriert werden.
- Erstellen Sie einen Ordner im Ordner OEM\Bin, der denselben Namen wie Ihre Zusatzmodul-DLL aufweist (ohne die Erweiterung .dll. Beispielsweise kann der vollständige Pfad zu dem neuen Ordner "C:\Programme\Autodesk\Inventor OEM 2014\Bin\MyOEMApp" lauten).
Kopieren Sie die Zusatzmodul-DLL in den neuen Ordner.
- Kopieren Sie die .addin-Datei in einen der folgenden Ordner, abhängig vom Geltungsbereich des Zusatzmoduls und vom Betriebssystem.
-
Versionsunabhängig
Wenn eine .addin-Datei in den folgenden Speicherorten vorhanden ist, wird das Zusatzmodul in mehreren Versionen von Inventor geladen, basierend auf den Werten der Einstellungen "SupportedSoftwareVersionXXX" in der Manifestdatei.
- Windows XP: C:\Dokumente und Einstellungen\All Users\Application Data\Autodesk\Inventor Addins\
- Windows 7: C:\ProgramData\Autodesk\Inventor Addins\
-
Versionsabhängig
Wenn die Manifestdatei in den folgenden Speicherorten vorhanden ist, wird das Zusatzmodul in einer bestimmten Version von Inventor geladen. Alle Werte der Einstellungen "SupportedSoftwareVersionXXX" in der Manifestdatei werden ignoriert.
- Windows XP: C:\Dokumente und Einstellungen\All Users\Application Data\Autodesk\Inventor 2011\Addins\
- Windows 7: C:\ProgramData\Autodesk\Inventor 2011\Addins\
-
Benutzerüberschreibung
Wenn Sie Benutzerüberschreibungen speichern, wird die Manifestdatei automatisch in den folgenden Speicherorten erstellt. Die Einstellungen in diesen Manifestdateien überschreiben die Einstellungswerte in den Manifestdateien im Ordner 'All Users'. Die Namen dieser Überschreibungs-Manifestdateien entsprechen den Namen der "Master"-Dateien.
- Windows XP: C:\Dokumente und Einstellungen\<Benutzer>\Anwendungsdaten\Autodesk\Inventor 2011\Addins\
- Windows7/Vista C:\Benutzer\Benutzer>\AppData\Roaming\Autodesk\Inventor 2011\Addins\