Freigeben über


Importieren von Elementen aus einer vorhandenen SharePoint-Website

Mit der Projektvorlage "SharePoint-Lösungspaket importieren" können Sie Elemente wie Inhaltstypen und Felder aus vorhandenen SharePoint-Websites in einer neuen Visual Studio-SharePoint-Lösung wiederverwenden. Obwohl Sie die meisten importierten Projektmappen ohne Änderung ausführen können, müssen bestimmte Einschränkungen und Probleme berücksichtigt werden, insbesondere, wenn Sie Elemente nach dem Import ändern.

Tipp

Verwenden Sie zum Importieren von wiederverwendbaren Workflows die Projektvorlage Wiederverwendbaren Workflow importieren. Weitere Informationen finden Sie unter Richtlinien für das Importieren von wiederverwendbaren Workflows.

Unterstützte SharePoint-Lösungen

Visual Studio 2010 unterstützt vollständig das Importieren von Projektmappen, die in SharePoint Foundation 2010 und SharePoint Server 2010 erstellt wurden.

Visual Studio 2010 unterstützt keine Importe von Projektmappen, die in den folgenden Anwendungen erstellt wurden:

  • Windows SharePoint Services 3.0

  • Microsoft Office SharePoint Server 2007

  • Visual Studio 2008

  • Microsoft SharePoint Designer 2007

  • Visual Studio 2010

    Tipp

    Anders ausgedrückt unterstützt Visual Studio 2010 keine Importe von in Visual Studio 2010 erstellten SharePoint-Lösungen.

Obwohl Sie mit diesen Anwendungen erstellte Projektmappen häufig erfolgreich importieren können, ist diese Funktionalität nicht getestet und wird nicht unterstützt.

Elementimporteinschränkungen

Obwohl die meisten SharePoint-Elemente aus einer vorhandenen WSP-Datei importiert werden können, werden die folgenden Elemente nicht unterstützt und müssen ggf. geändert werden, damit sie ordnungsgemäß funktionieren:

  • BDC-Entitäten

  • Codeworkflow-Zuordnungselemente

  • Codeworkflows

  • Visuelle Webparts (.ascx)

  • Webdienste (.asmx)

  • Inhaltstypbindungen

  • Ereignisempfänger

  • Listendefinitionen (Vorlagen)

  • Websitedefinitionen

Wenn Sie eine Projektmappe aus SharePoint Foundation 2010 oder SharePoint Server 2010 exportieren, werden diese Elemente automatisch aus der WSP-Datei ausgeschlossen. WSP-Dateien, die mit anderen, nicht unterstützten Tools erstellt wurden, können diese Elemente jedoch enthalten. (Siehe "Unterstützte SharePoint-Lösungen" weiter oben in diesem Thema.)

Schritte beim Importieren einer Projektmappe

Wenn Sie eine Projektmappe mit der Vorlage SharePoint-Lösungspaket importieren importieren, kopiert Visual Studio den gesamten Inhalt der WSP-Datei und versucht, so viele Zuordnungen und Verweise wie möglich zwischen importierten Elementen und ihren Dateien abzugleichen und beizubehalten.

Alle importierten Elemente werden in entsprechende Ordner im Projektmappen-Explorer kopiert. Inhaltstypen werden z. B. im Ordner Inhaltstypen und Listeninstanzen unter Listeninstanzen angezeigt. Einem importierten Element zugeordnete Dateien werden ebenfalls in den Ordner des Elements kopiert. Einer importierten Listeninstanz sind z. B. dessen Module, Formulare und ASPX-Seiten zugeordnet.

Abhängige Elemente

Wenn Sie im Assistenten SharePoint-Lösungspaket importieren ein Element ohne dessen abhängige Elemente auswählen, werden Sie in einem Meldungsfeld darauf hingewiesen, dass die abhängigen Elemente vor dem Importieren ebenfalls ausgewählt werden müssen.

Was sind Funktionen?

SharePoint Designer-Benutzer werden u. U. mit unerwarteten Dateien, so genannten Funktionen, konfrontiert, die in importierten Projektmappen im Projektmappen-Explorer angezeigt werden. Obwohl diese Funktionen bereits in der SharePoint Designer-Lösung vorhanden waren, wurden sie in der Ansicht ausgeblendet. Funktionen sind jetzt in Visual Studio sichtbar.

Funktionen sind Container für SharePoint-Elemente. Jede Funktion führt einen Verweis auf jedes Element, das sie enthält, z. B. Inhaltstypen oder Listendefinitionen. Wenn Sie eine Projektmappe importieren, richtet Visual Studio Funktionen für alle importierten Elemente ein und versucht, die Beziehungen zwischen Funktion und Element für die Dateien beizubehalten. Alle Dateien, deren Verweise nicht aufgelöst werden konnten, werden im Ordner Andere importierte Dateien gespeichert.

Weitere Informationen zu Funktionen finden Sie unter Entwickeln von SharePoint-Lösungen und Working with Features.

Behandeln besonderer Fälle

In einigen Fällen kann Visual Studio ein Element nicht mit seinen abhängigen Dateien abgleichen. Alle Dateien, die Visual Studio nicht auflösen konnte, werden im Ordner Andere importierte Dateien angezeigt. Außerdem werden die DeploymentType-Eigenschaften auf NoDeployment festgelegt, damit sie nicht mit der Projektmappe bereitgestellt werden.

Wenn Sie z. B. die Listendefinition ExpenseForms importieren, wird eine Listendefinition mit diesem Namen zusammen mit den Dateien Elements.xml und Schema.xml im Ordner Listendefinitionen im Projektmappen-Explorer angezeigt. Allerdings werden die zugeordneten ASPX- und HTML-Formulare ggf. in einem Ordner mit dem Namen ExpenseForms im Ordner Andere importierte Dateien gespeichert. Um den Import abzuschließen, verschieben Sie diese Dateien im Projektmappen-Explorer zur Listendefinition ExpenseForms, und ändern Sie die DeploymentType-Eigenschaft für jede Datei von NoDeployment in ElementFile.

Beim Importieren von Ereignisempfängern wird die Datei Elements.xml an den richtigen Speicherort kopiert, aber Sie müssen die Assembly manuell in das Projektmappenpaket einschließen, damit es mit der Projektmappe bereitgestellt wird. Weitere Informationen finden Sie unter zu dieser Vorgehensweise finden Sie unter Gewusst wie: Hinzufügen und Entfernen zusätzlicher Assemblys.

Wenn Sie Workflows importieren, werden InfoPath-Formulare in den Ordner Andere importierte Dateien kopiert. Wenn die WSP-Datei eine Webvorlage enthält, wird sie als Startseite im Projektmappen-Explorer festgelegt.

Importieren von Feldern und Eigenschaftensammlungen

Wenn Sie eine Projektmappe importieren, die über mehrere Felder verfügt, werden alle separaten Felddefinitionen im Projektmappen-Explorer mit unter einem Knoten mit dem Namen Felder in einer einzelnen Datei Elements.xml zusammengeführt. Auf ähnliche Weise werden alle Eigenschaftensammlungen unter einem Knoten mit dem Namen PropertyBags in einer Datei Elements.xml zusammengeführt.

Felder in SharePoint sind Spalten mit einem angegebenen Datentyp, z. B. Text, Boolean oder Suche. Weitere Informationen finden Sie unter Building Block: Columns and Field Types. Mithilfe von Eigenschaftensammlungen können Sie Eigenschaften zu Objekten in SharePoint hinzufügen. Alle Objekte von einer Farm bis zu einer Liste auf einer SharePoint-Website werden unterstützt. Eigenschaftensammlungen sind als Hashtabelle mit Eigenschaftennamen und Werten implementiert. Weitere Informationen finden Sie unter Managing SharePoint Configuration oder SharePoint Property Bag Settings.

Löschen von Elementen im Projekt

Die meisten Elemente in SharePoint-Lösungen verfügen über eines oder mehrere abhängige Elemente. Listeninstanzen sind z. B. abhängig von Inhaltstypen, und Inhaltstypen sind abhängig von Feldern. Nach dem Importieren einer SharePoint-Lösung gibt Visual Studio keine Benachrichtigungen zu Verweisproblemen aus, wenn Sie ein Element, nicht aber die abhängigen Elemente in der Projektmappe löschen, bis Sie versuchen, die Projektmappe bereitzustellen. Wenn eine importierte Projektmappe z. B. eine Listeninstanz beinhaltet, die von einem Inhaltstyp abhängt, und Sie löschen diesen Inhaltstyp, dann kann bei der Bereitstellung ein Fehler auftreten. Der Fehler tritt auf, wenn das abhängige Element auf dem SharePoint-Server nicht vorhanden ist. Wenn ein gelöschtes Element eine zugehörige Eigenschaftensammlung verwendet, müssen Sie diese Eigenschaftensammlung ebenfalls aus dem Knoten PropertyBags der Datei "Elements.xml" löschen. Wenn nach dem Löschen von Elementen aus einer importierten Projektmappe Bereitstellungsfehler auftreten, sollten Sie daher überprüfen, ob abhängige Elemente ebenfalls gelöscht werden müssen.

Wiederherstellen von fehlenden Funktionsattributen

Beim Importieren von Projektmappen werden einige optionale Funktionsattribute aus dem importierten Funktionsmanifest weggelassen. Wenn Sie diese Attribute in der neuen Funktionsdatei wiederherstellen möchten, identifizieren Sie die fehlenden Attribute, indem Sie die ursprüngliche Funktionsdatei mit dem neuen Funktionsmanifest vergleichen, und folgen Sie den Anweisungen im Thema Gewusst wie: Anpassen einer SharePoint-Funktion.

Erkennung von Bereitstellungskonflikten wird bei integrierten Listeninstanzen nicht ausgeführt

Visual Studio führt keine Erkennung von Bereitstellungskonflikten (d. h. Standardlisteninstanzen, die mit SharePoint ausgeliefert werden) für integrierte Listeninstanzen aus. Die Konflikterkennung wird ausgelassen, um zu vermeiden, dass die integrierten Listeninstanzen von SharePoint überschrieben werden. Die integrierten Listeninstanzen werden nach wie vor bereitgestellt bzw. aktualisiert, jedoch nicht gelöscht oder überschrieben. Weitere Informationen finden Sie unter Problembehandlung beim SharePoint-Packen und -Bereitstellen.

Importieren von SharePoint Server 2010-Workflows

Wenn Sie einen in SharePoint Server 2010 erstellten Workflow importieren, wird er nach der Bereitstellung nicht ordnungsgemäß ausgeführt. Der Workflow wird nicht ordnungsgemäß ausgeführt, da bestimmte Assemblys fehlen und SharePoint Server 2010-Workflows InfoPath-Formulare enthalten, die in Visual Studio-Workflowprojektmappen derzeit nicht unterstützt werden. Importierte SharePoint Server 2010-Workflows können jedoch verwendet werden, nachdem Sie bestimmte Elemente korrigiert haben, z. B. durch Hinzufügen von Verweisen auf die SharePoint Server 2010-Assemblys und das erneute Verbinden der InfoPath-Formulare. Weitere Informationen finden Sie unter Importieren von SharePoint Server 2010-Workflows.

Maximale Länge von Elementnamen

Visual Studio ist, einschließlich des Pfads, auf maximal 260 Zeichen in Projekt- und Projektelementnamen beschränkt. Wenn ein Elementname diese Grenze beim Importieren einer Projektmappe überschreitet, wird folgender Fehler ausgegeben:

Der angegebene Pfad, Dateiname oder beide sind zu lang. Der vollständig qualifizierte Dateiname muss kürzer als 260 Zeichen und der Pfadname kürzer als 248 Zeichen sein.

Wenn dieser Fehler auftritt, wird das Element nicht erstellt. Dieses Problem tritt am häufigsten bei importierten Modulen auf. Um dieses Problem zu vermeiden, gehen Sie wie folgt vor:

  • Verwenden Sie kurze Namen für das Projekt im Dialogfeld Neues Projekt hinzufügen.

  • Erstellen Sie das Projekt an einem Speicherort möglichst nahe am Stammordner, um den Pfad kurz zu halten.

SharePointProductVersion-Attribut

Wenn Sie eine in einer früheren Version von SharePoint, z. B. Windows SharePoint Services 3.0 oder Microsoft Office SharePoint Server 2007, erstellte Projektmappe importieren, ändern Sie entweder den SharePointProductVersion-Attributwert im Paketmanifest in 12.0, oder fügen Sie ein Skript-Manager-Steuerelement in alle importierten Webseiten ein, und belassen Sie die SharePointProductVersion auf 14.0. Andernfalls werden importierte Web Forms nicht in SharePoint angezeigt.

Hintergrundinformationen

Lösungen in SharePoint Foundation 2010 und SharePoint Server 2010 enthalten ein Attribut mit dem Namen SharePointProductVersion. SharePoint verwendet dieses Attribut in den Paketmanifesten, um die SharePoint-Version zu bestimmen, für die die Lösung entworfen wurde. Die beiden gültigen Werte sind 12.0 und 14.0. Beim Wert 12.0 wurde das Element für Windows SharePoint Services 3.0 oder Microsoft Office SharePoint Server 2007 entworfen, bei 14.0 für SharePoint Foundation 2010 oder SharePoint Server 2010.

Für erhöhte Sicherheit beim Rendern von ASPX-Seiten erfordern SharePoint Foundation 2010 und SharePoint Server 2010, dass alle ASPX- oder Gestaltungsvorlagen ein Skript-Manager-Steuerelement enthalten. Weitere Informationen zum Skript-Manager finden Sie unter Übersicht über das ScriptManager-Steuerelement. Da das Skript-Manager-Steuerelement in Windows SharePoint Services 3.0 und Microsoft Office SharePoint Server 2007 nicht verfügbar war, muss jeder Windows SharePoint Services 3.0- oder Microsoft Office SharePoint Server 2007-Seite, die auf SharePoint Foundation 2010 oder SharePoint Server 2010 aktualisiert wird, ein solches Steuerelement hinzugefügt werden. Für ASPX-Seiten mit einer Standardgestaltungsvorlage ist kein Skript-Manager-Steuerelement erforderlich, da der Standardgestaltungsvorlage bereits ein solches Steuerelement hinzugefügt wurde. ASPX-Seiten ohne Gestaltungsvorlage oder mit einer benutzerdefinierten Gestaltungsvorlage muss jedoch ein Skriptsteuerelement hinzugefügt werden, damit sie in SharePoint Foundation 2010 oder SharePoint Server 2010 funktionieren.

Das Fehlen eines Skript-Manager-Steuerelements kann ein Problem darstellen, wenn Sie ein Windows SharePoint Services 3.0- oder ein Microsoft Office SharePoint Server 2007-Projekt in Visual Studio 2010 importieren, da das SharePointProductVersion-Attribut aller neuen Projekte auf 14.0 festgelegt ist. Wenn Sie ein aktualisiertes Projekt mit einem Webformular ohne Skript-Manager bereitstellen, wird das Formular in SharePoint nicht angezeigt.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Importieren von Elementen aus einer vorhandenen SharePoint-Website

Exemplarische Vorgehensweise: Importieren eines wiederverwendbaren Workflows aus SharePoint-Designer in Visual Studio

Gewusst wie: Hinzufügen einer vorhandenen BDC-Modelldatei zu einem SharePoint-Projekt

Weitere Ressourcen

Richtlinien für das Importieren von wiederverwendbaren Workflows