Vorgehensweise: Hinzufügen benutzerdefinierter Assemblys mit dem InfoPath 2003-Objektmodell und das Verweisen darauf
Wenn Sie in einem Formularvorlagenprojekt mit verwaltetem Code einen Verweis auf eine benutzerdefinierte Assembly hinzufügen, wird diese beim Kompilieren und Veröffentlichen des Projekts in die Formularvorlagendatei (XSN) einbezogen.
Hinzufügen einer benutzerdefinierten Assembly und Verweisen darauf
Zur Vermeidung eines Konflikts mit der Art und Weise, wie das InfoPath-Projektsystem Dateien verwaltet, die der Formularvorlagendatei hinzugefügt werden, kopieren Sie keine benutzerdefinierten Assemblys, auf die Sie verweisen möchten, in den Ordner auf der obersten Ebene eines Formularvorlagenprojekts. Standardmäßig ist dies ein Pfad mit dem folgenden Format: <Laufwerk>:\Dokumente und Einstellungen\Benutzername\Eigene Dateien\Visual Studio-Projekte\Projektname.
Wenn Sie benutzerdefinierte Assemblys, auf die innerhalb des Projektordners verwiesen wird, verschieben möchten, müssen Sie einen Unterordner unter dem Projekt-Hauptordner erstellen. Anschließend kopieren Sie die benutzerdefinierten Assemblys aus dem Unterordner und verweisen darauf. Beachten Sie jedoch, dass das Erstellen eines Unterordners für referenzierte Assemblys nicht erforderlich ist. Sofern sich eine referenzierte Assembly nicht im Ordner auf der obersten Ebene des Projekts befindet, wird sie vom InfoPath-Projektsystem beim Kompilieren und Veröffentlichen des Projekts automatisch in die Formularvorlagendatei (XSN) kopiert.
Verweisen auf eine benutzerdefinierte Assembly von ihrem Standardspeicherort aus
Öffnen Sie das Formularvorlagenprojekt mit Microsoft Visual Studio Tools für Anwendungen (VSTA), Visual Studio 2005 mit Microsoft Visual Studio 2005 Tools für 2007 Microsoft Office System oder Visual Studio 2008 mit Visual Studio Tools für Office.
Klicken Sie im Menü Projekt auf Verweis hinzufügen.
Klicken Sie auf der Registerkarte .NET auf Durchsuchen, suchen Sie die Assembly, und klicken Sie dann auf OK, um den Verweis hinzuzufügen.
Abhängigkeiten in referenzierten Unterprojekten (Visual Studio)
Wenn Sie in Visual Studio ein zusätzliches Projekt, wie z. B. eine Klassenbibliothek, als Unterprojekt einer InfoPath-Formularvorlagen-Projektmappe mit verwaltetem Code hinzufügen und darauf verweisen (zeigen Sie hierzu im Menü Datei auf Neu, klicken Sie auf Projekt, wählen Sie Hinzufügen im Dialogfeld Neues Projekt aus, und fügen Sie dann das Unterprojekt als Verweis im InfoPath-Projekt hinzu), werden alle Assemblys, auf die vom Unterprojekt verwiesen wird, in die Formularvorlagendatei des Projekts (Projektname.xsn) nicht einbezogen, und das daraus resultierende Formular wird nicht richtig geladen. Wenn Sie dieses Problem umgehen möchten, bearbeiten Sie die Formulardefinitionsdatei (manifest.xsf), und fügen Sie Einträge für die Assemblys, auf die vom Unterprojekt verwiesen wird, mit dem folgenden Verfahren manuell hinzu.
Hinzufügen abhängiger Assemblys aus referenzierten untergeordneten Projekten
Schließen Sie das InfoPath-Formularentwurfsfenster.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf manifest.xsf, und klicken Sie dann auf Öffnen.
Fügen Sie innerhalb des <xsf:files>-Elements ein XML-Fragment im folgenden Format für jede Komponente hinzu, auf die das untergeordnete Projekt verweist. Dann wird "AssemblyName.dll" durch den tatsächlichen Namen der referenzierten Komponente ersetzt:
<xsf:file name="AssemblyName.dll"> <xsf:fileProperties> <xsf:property name="fileType" type="string" value="refAssembly"></xsf:property> </xsf:fileProperties> </xsf:file>
Speichern Sie Ihre Änderungen an der Datei "manifest.xsf".
Nach dem manuellen Aktualisieren der Datei "manifest.xsf" kopieren Sie jede Komponente, auf die vom untergeordneten Projekt verwiesen wird (Assemblyname.dll) in den Ordner, in dem sich die Datei "manifest.xsf" befindet. Dies ist normalerweise ein Pfad im Ordner "Eigene Dateien" mit dem folgenden Format: "<Laufwerk>:\Dokumente und Einstellungen\Benutzername\Eigene Dateien\Visual Studio-Projekte\Projektname\". Wenn Sie die Formularvorlagendatei kompilieren und veröffentlichen, schließt sie die Ausgabe des untergeordneten Projekts und die Assemblys, auf die vom untergeordneten Projekt verwiesen wird, mit ein.