Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die SharePoint-Add-In-Teile dieses Artikels sind Legacy-Anleitungen. Die unten stehende Außerbetriebnahme zieht die anderen APIs oder Plattformen, die hier erläutert werden, nicht außer Betrieb.
Wichtig
SharePoint-Add-Ins haben am 2. April 2026 das Ende der Lebensdauer in SharePoint Online erreicht. Sowohl von SharePoint als auch vom Anbieter gehostete Add-Ins werden eingestellt und funktionieren nicht mehr in SharePoint Online, einschließlich Government-Clouds. Die Hinweise zu Add-Ins-Entwicklung, -Bereitstellung und -Verwendung werden als historische Referenz und für anwendbare SharePoint Server-Szenarien beibehalten, nicht für neue SharePoint Online-Lösungen.
SharePoint Server-Add-Ins, die über einen lokalen App-Katalog bereitgestellt werden, werden durch diese Änderung nicht zurückgezogen. Der Erwerb von SharePoint-Add-Ins aus dem öffentlichen Marketplace endete am 2. April 2026 für SharePoint Server.
Mit dieser Einstellung werden SharePoint-REST-APIs, CSOM, JSOM oder SharePoint-Framework (SPFx) nicht außer Betrieb genommen. Verwenden Sie für SharePoint Online SPFx für Benutzeroberflächenerweiterungen und Microsoft Entra ID für die Authentifizierung bei externen Anwendungen. Weitere Informationen finden Sie in der Ankündigung der Einstellung und in der Anleitung zur Add-In-Migration.
Wenn Sie InfoPath-Formulare mit CodeBehind verwenden, hängen die Formulare von codebasierten Sandbox-Lösungen für die Ausführung des CodeBehinds ab. Dieser Artikel hilft Ihnen, Ihre InfoPath-Formulare entweder zu korrigieren oder zu transformieren, sodass sie nicht mehr von Sandbox-Lösungen abhängig sind.
Hinweis
Codebasierte Sandkastenlösungen sind seit 2014 veraltet, und in SharePoint Online wird diese Funktion Zug um Zug vollständig entfernt. Codebasierte Sandkastenlösungen sind auch in SharePoint 2013 und SharePoint 2016 veraltet.
Analysieren Ihrer InfoPath-Formulare
In diesem Abschnitt wird ein Modell beschrieben, mit dem Sie Ihre InfoPath-Formulare analysieren und korrigieren können. Je nach Formular können Sie das Formular entweder korrigieren und erneut bereitstellen, oder Sie müssen sich von InfoPath verabschieden und einen alternativen Ansatz verwenden, um die benötigte Funktionalität zu erhalten.
Bevor Sie Maßnahmen ergreifen, ist es wichtig, dass Sie den geschäftlichen Bedarf für Ihr Formular bewerten. Wir sehen oft viele Formulare, die nicht mehr geschäftsrelevant sind, und in diesen Fällen ist es einfacher, das Formular einfach wegzulassen.
Ermitteln, ob Ihre InfoPath-Formulare CodeBehind verwenden
Um dies zu ermitteln, empfiehlt es sich, das SharePoint SandBox Solution Scanner-Tool zu verwenden. Der Bericht dieses Tools gibt an, ob die Sandbox-Lösung aus einer InfoPath-Datei stammt. Das Tool teilt Ihnen auch mit, ob die verwendete Assembly in der Lösung nutzlos ist, wie weiter unten in diesem Artikel beschrieben.
Ermitteln, ob Ihre Formulare noch relevant sind
Bevor Sie sich in die Korrektur-/Transformationsarbeit stürzen, ist es wichtig zu bestimmen, ob das Formular für Ihr Unternehmen immer noch wichtig ist. Wenn dies der Fall ist, fahren Sie mit dem nächsten Abschnitt fort. Wenn nicht, müssen Sie über die mit diesem Formular erstellten Daten nachdenken.
In der Regel wurden die Daten als InfoPath-XML-Dateien erstellt, die sich in einer SharePoint-Liste befinden. Wenn Sie das Formular entfernen, können Sie die Daten nicht mehr visualisieren. Manchmal ist das in Ordnung, weil das Formular und die Daten nicht mehr relevant sind. Wenn Sie jedoch auf die Daten zugreifen möchten, können Sie die Daten aus den InfoPath-XML-Dateien in SharePoint-Listenelementdaten konvertieren. Informationen hierzu finden Sie in der PnP-Transformation EmpRegConsole-Konsolenanwendung.
Laden Sie die InfoPath-Formulare (XSN-Datei) zur Überprüfung herunter
Wenn Sie bestätigt haben, dass Sie über InfoPath-Formulare verfügen, die Arbeit erfordern, müssen Sie diese Formulare herunterladen. InfoPath-Formulare mit CodeBehind werden entweder als Formularbibliothek oder als Websiteinhaltstyp bereitgestellt.
Formularbibliothek
In diesem Fall befindet sich die XSN-Datei im Ordner Formulare der Formularbibliothek, in der das InfoPath-Formular bereitgestellt wurde. Um die Formularbibliothek zu finden, sehen Sie sich den WSP-Paketnamen an, der dieser Konvention folgt: InfoPath Form_LibName_id.
Wenn Sie die Formularbibliothek kennen, müssen Sie die Datei template.xsn aus dem Ordner "Formulare" der Bibliothek herunterladen. Sie können dies tun, indem Sie eine URL wie diese erstellen, Bibliotheks-URL + /Forms/template.xsn (z. B.: https://contoso.sharepoint.com/sites/infopath1/IHaveCodeBehind/Forms/template.xsn), und den Browser verwenden, um die Datei herunterzuladen.
Websiteinhaltstyp
Bei InfoPath-Formularen, die als Websiteinhaltstyp bereitgestellt werden, wird die XSN-Datei in einer Formularbibliothek gespeichert, die zum Zeitpunkt der Formularbereitstellung mit dem Inhaltstyp verbunden war. Wie im vorherigen Abschnitt können Sie den Bibliotheksnamen aus dem WSP-Paketnamen abrufen. Der Unterschied besteht diesmal darin, dass das Formular tatsächlich als Datei in der Bibliothek gespeichert ist, sodass Sie es einfach aus der Formularbibliothek herunterladen können.
Korrigieren Sie Ihre InfoPath-Formulare
In den vorherigen Abschnitten wurden die InfoPath-Formulare mit CodeBehind gezeigt. Aber enthalten diese Formulare tatsächlich nützlichen CodeBehind? Es gibt viele Formulare, bei denen der Formularautor versehentlich die Schaltfläche "Code-Editor" im Menüband von InfoPath Developer ausgewählt hat .
Wenn du dies getan hast, hast du möglicherweise CodeBehind, der nichts tut. Wenn Sie es entfernen, können Sie Ihr InfoPath-Formular mit CodeBehind in ein InfoPath-Formular ohne CodeBehind und ohne Abhängigkeit von Sandbox-Lösungen konvertieren.
Ermitteln, ob der CodeBehind Ihrer Formulare nutzlos ist
Der SharePoint Sandbox Solution Scanner informiert Sie, ob Ihr InfoPath-Formular nutzlosen Code enthält. Sie fragen sich jedoch vielleicht, wie Sie zwischen nutzlosem und notwendigem Code-Behind unterscheiden können, da Sie nur nutzlosen Code reparieren können. Wenn Sie noch über das Originalformular verfügen (nicht das, das Sie in den vorherigen Schritten heruntergeladen haben), können Sie sich einfach den Code ansehen.
Es folgt der leere Standardcode, und wenn Ihr Code ähnlich ist, kann die Form korrigiert werden, indem Sie den Code weglassen.
using Microsoft.Office.InfoPath;
using System;
using System.Xml;
using System.Xml.XPath;
namespace Form1
{
public partial class FormCode
{
// Member variables are not supported in browser-enabled forms.
// Instead, write and read these values from the FormState
// dictionary using code such as the following:
//
// private object _memberVariable
// {
// get
// {
// return FormState["_memberVariable"];
// }
// set
// {
// FormState["_memberVariable"] = value;
// }
// }
// NOTE: The following procedure is required by Microsoft InfoPath.
// It can be modified using Microsoft InfoPath.
public void InternalStartup()
{
}
}
}
Falls Sie nur über die XSN-Datei verfügen, die Sie im vorherigen Schritt heruntergeladen haben, können Sie Ihre XSN-Datei in eine CAB-Datei umbenennen (z. B. template.cab), die Assembly extrahieren und .NET-Reflexionstools (wie den ILSpy-Open-Source-.NET-Assemblybrowser und -Decompiler) verwenden, um den Code zu überprüfen.
Eine typische Ansicht von nutzlosem CodeBehind sieht wie in der folgenden Abbildung in ILSpy aus.
Drop-Code-Behind aus InfoPath-Formularen, um sie zu beheben
Wenn du bestätigt hast, dass dein CodeBehind nutzlos ist, kannst du ihn wie folgt löschen:
Öffnen Sie das Formular in InfoPath Designer (klicken Sie mit der rechten Maustaste auf Entwurf).
Optionen für >das Formular"Dateiinformationen>".
Wählen Sie die Kategorie Programmierung und dann Code entfernen aus.
Veröffentlichen Sie das Formular erneut unter Dateiinfo>>Schnellveröffentlichung.
Deaktivieren Sie die verknüpfte Sandbox-Lösung unterLösungen für Site-Einstellungen>.
Vergewissern Sie sich, dass das Formular wie erwartet funktioniert.
Löschen Sie die Sandbox-Lösung.
Hinweis
Wenn Sie keinen Zugriff mehr auf die InfoPath-XSN-Datei und den Quellcode haben, können Sie diese Formulare trotzdem korrigieren, indem Sie die Sandbox-Lösungen mit nutzlosem Code deaktivieren. Führen Sie dies nur für diejenigen aus, die in der Ausgabe des Sandbox-Lösungsberichts mit IsEmptyInfoPathAssembly = true erwähnt werden.
Migrieren Ihrer InfoPath-Formulare
Wenn die Anleitung in den vorherigen Abschnitten nicht auf Ihre InfoPath-Formulare anwendbar war, bedeutet dies, dass Ihre Formulare immer noch geschäftsrelevant sind und CodeBehind enthalten, den Sie nicht ablegen können. In diesem Fall besteht die typische Lösung darin, sich von InfoPath zu entfernen, was auf folgende Weise möglich ist:
Erstellen Sie ein SharePoint-Add-In, das Remote-APIs zum Lesen/Schreiben von SharePoint-Daten nutzt.
Erstellen Sie eine App mithilfe von Azure PowerApps oder Microsoft Flow.
Erstellen von SharePoint-Add-Ins als Ersatz für Ihre InfoPath-Formulare
Wenn Sie SharePoint Add-Ins als Ersatz für Ihre InfoPath-Formulare verwenden, haben Sie mehrere Möglichkeiten. Im Folgenden finden Sie drei Optionen; Sie können jedoch Variationen davon verwenden.
Allgemeine InfoPath-Codierungsmuster
Um Sie beim Konvertieren Ihres InfoPath-Formulars besser zu unterstützen, finden Sie im Folgenden eine Liste mit 11 gängigen InfoPath-Codierungsmustern und wie Sie diese Muster mithilfe der drei SharePoint-Add-In-Optionen implementieren können.
Zu diesem Zweck haben wir zunächst ein InfoPath-Referenzformular entwickelt, das die gängigsten InfoPath-Codierungsmuster verwendet, und dieses Formular dann auf drei SharePoint-Add-In-Varianten migriert.
Die folgenden Links zeigen diese gängigen Muster:
- Felder beim Laden des Formulars ausfüllen – Benutzerinformationen festlegen
- Felder beim Laden des Formulars ausfüllen – Listeninformationen lesen
- Felder beim Laden des Formulars ausfüllen – Listendaten lesen
- Senden Sie das Formular über den Code
- Ansicht nach Formularübermittlung wechseln
- Abrufen von Benutzerdaten
- Datensammlung lesen und mehrere Steuerelemente festlegen
- Datenlade-Kaskadierung
- Hochladen oder Löschen von Anlagen
- Hinzufügen oder Entfernen von Benutzern aus Websitegruppen
- Vorhandenes Element in Formular laden
Migrieren von InfoPath-Daten
Nachdem Sie Ihre InfoPath-Formulare in eine neue Lösung verschoben haben, möchten Sie möglicherweise auch Ihre Daten von InfoPath XML zu regulären SharePoint-Listendaten oder auf die Datenschicht Ihrer Wahl migrieren. Da InfoPath-Dateien XML-Dateien sind, sind sie relativ einfach zu lesen und zu transformieren.
Verwenden Sie dazu die PnP-Transformation EmpRegConsole-Konsolenanwendung.
Öffnen vorhandener Formulare
Sobald codebasierte Vorgänge deaktiviert sind, kann Code nicht mehr in der Sandbox ausgeführt werden. Wenn Sie also Formulare haben, die Code ausführen, funktioniert das Öffnen der vorhandenen Formulare nicht mehr.
Die folgenden Schritte können Ihnen bei der Handhabung helfen:
Wenn Sie Ihr InfoPath-Formular auf eine neue Lösung migriert haben, haben Sie Ihre Daten höchstwahrscheinlich bereits konvertiert, und wenn ja, geht es Ihnen gut.
Wenn Sie das Formular unverändert beibehalten möchten (z. B. weil es nicht mehr geschäftsrelevant ist), die vorhandenen Formulare aber dennoch öffnen möchten, können Sie einen der folgenden Schritte ausführen:
Entfernen Sie den CodeBehind aus Ihrem Formular, und veröffentlichen Sie ihn erneut (siehe Abschnitt CodeBehind aus InfoPath-Formularen entfernen, um sie zu beheben ).
Verwenden Sie den InfoPath-Client, um die Formulare zu öffnen.
Migrieren Sie die Formulardaten zu einfachen SharePoint-Listendaten (siehe Abschnitt Migrieren Ihrer InfoPath-Daten ).