Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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-Projektmappe 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 deren Import ändern.

System_CAPS_noteHinweis

Wenn Sie wiederverwendbare Workflows importieren möchten, verwenden Sie die Projektvorlage „Wiederverwendbaren Workflow importieren“.Weitere Informationen finden Sie unter Richtlinien für das Importieren von wiederverwendbaren Workflows.

Visual Studio 2012 unterstützt uneingeschränkt das Importieren von Projektmappen, die in SharePoint Foundation 2010 oder SharePoint Server 2010 erstellt wurden.

Visual Studio 2012 unterstützt nicht das Importieren 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

Obwohl Sie Projektmappen, die mit einer dieser Anwendungen erstellt wurden, häufig erfolgreich importieren können, ist diese Funktionalität weder getestet, noch wird sie unterstützt.

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, werden diese Elemente automatisch aus der WSP-Datei ausgeschlossen. Es kann aber sein, dass WSP-Dateien, die mit nicht unterstützten Tools erstellt wurden, diese Elemente enthalten. (Siehe „Unterstützte SharePoint-Projektmappen (SharePoint-Lösungen)“ weiter oben in diesem Thema.)

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 deren Dateien abzugleichen und beizubehalten.

Alle importierten Elemente werden in entsprechende Ordner im Projektmappen-Explorer kopiert. Inhaltstypen werden z. B. im Ordner Inhaltstypen und Listeninstanzen werden unter Listeninstanzen angezeigt. Dateien, die einem importierten Element zugeordnet sind, werden ebenfalls in den Ordner des Elements kopiert. Beispielsweise umfasst eine importierte Listeninstanz ihre Module, Formulare und ASPX-Seiten.

Wenn Sie im Assistenten „SharePoint-Lösungspaket importieren“ ein Element, aber nicht 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.

SharePoint Designer-Benutzer stellen möglicherweise fest, dass unerwartete Dateien, so genannte Funktionen, in importierten Projektmappen im Projektmappen-Explorer angezeigt werden. Obwohl diese Funktionen bereits in der SharePoint Designer-Projektmappe vorhanden waren, wurden sie in der Ansicht ausgeblendet. Funktionen sind jetzt in Visual Studio sichtbar.

Funktionen sind Container für SharePoint-Elemente. Jede Funktion verwaltet einen Verweis auf jedes Element (etwa Inhaltstypen und Listendefinitionen) das sie enthält. Wenn Sie eine Projektmappe importieren, richtet Visual Studio Funktionen für alle importierten Elemente ein und versucht, die Funktion-zu-Element-Beziehungen 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 Developing SharePoint Solutions und Verwenden von Features.

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

Wenn Sie z. B. die Listendefinition „ExpenseForms“ importieren, wird eine Listendefinition mit diesem Namen zusammen mit deren 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 namens ExpenseForms im Ordner Andere importierte Dateien angeordnet. Um den Import abzuschließen, verschieben Sie diese Dateien im Projektmappen-Explorer in die Listendefinition „ExpenseForms“, und ändern Sie die DeploymentType-Eigenschaft für jede Datei von NoDeployment in ElementFile.

Wenn Sie Ereignisempfänger importieren, wird die Datei „Elements.xml“ in den richtigen Speicherort kopiert, aber Sie müssen die Assembly manuell in das Projektmappenpaket einschließen, damit sie 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.

Wenn Sie eine Projektmappe importieren, die mehrere Felder hat, werden alle separaten Felddefinitionen im Projektmappen-Explorer in einer einzelnen „Elements.xml“-Datei in einem Knoten namens Felder zusammengeführt. Ganz ähnlich werden alle Eigenschaftenbehälter in einem Knoten namens PropertyBags in einer „Elements.xml“-Datei zusammengeführt.

Felder in SharePoint sind Spalten mit einem angegebenen Datentyp, z. B. „Text“, „Boolesch“ oder „Nachschlagen“. Weitere Informationen finden Sie unter Baustein: Spalten und Feldtypen. Mithilfe von Eigenschaftenbehältern können Sie Eigenschaften zu Objekten in SharePoint hinzufügen, wobei alles von einer Farm bis zu einer Liste auf einer SharePoint-Website möglich ist. Eigenschaftenbehälter sind als Hashtabelle mit Eigenschaftennamen und -werten implementiert. Weitere Informationen finden Sie unter Verwalten der SharePoint-Konfiguration oder SharePoint Property Bag Settings.

Die meisten Elemente in SharePoint-Projektmappen haben mindestens ein abhängiges Element. Listeninstanzen sind z. B. von Inhaltstypen abhängig, und Inhaltstypen sind von Feldern abhängig. Nachdem Sie eine SharePoint-Projektmappe importiert haben, gibt Visual Studio, wenn Sie ein Element, nicht aber dessen abhängige Elemente in der Projektmappe gelöscht haben, erst dann eine Benachrichtigungen zu Verweisproblemen aus, wenn Sie versuchen, die Projektmappe bereitzustellen. Wenn eine importierte Projektmappe beispielsweise eine Listeninstanz beinhaltet, die von einem Inhaltstyp abhängt, und Sie diesen Inhaltstyp löschen, kann bei der Bereitstellung ein Fehler auftreten. Der Fehler tritt auf, wenn das abhängige Element auf dem SharePoint-Server nicht vorhanden ist. Gleiches gilt, wenn ein gelöschtes Element einen zugehörigen Eigenschaftenbehälter hat. Sie sollten dann diese Eigenschaftenbehältereinträge aus der „Elements.xml“-Datei in PropertyBags löschen. Daher empfiehlt es sich, wenn Sie Elemente aus einer importierten Projektmappe löschen und dann Bereitstellungsfehler auftreten, dass Sie überprüfen, ob es abhängige Elementen gibt, die ebenfalls gelöscht werden müssen.

Wenn Projektmappen importiert werden, werden einige optionale Funktionsattribute (Featureattribute) aus dem importierten Funktionsmanifest nicht übernommen. Wenn Sie diese Attribute in der neuen Funktionsdatei wiederherstellen möchten, ermitteln 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.

Visual Studio führt keine Erkennung von Bereitstellungskonflikten für integrierte Listeninstanzen (dies sind die Standardlisteninstanzen, die mit SharePoint geliefert werden) aus. Die Konflikterkennung wird nicht ausgeführt, damit verhindert wird, dass die integrierten Listeninstanzen in SharePoint überschrieben werden. Die integrierten Listeninstanzen werden weiterhin bereitgestellt bzw. aktualisiert, werden aber niemals gelöscht oder überschrieben. Weitere Informationen finden Sie unter Problembehandlung beim SharePoint-Packen und -Bereitstellen.

Wenn Sie einen in SharePoint Server 2010 erstellten Workflow importieren, wird dieser 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 ordnungsgemäß ausgeführt werden, nachdem Sie bestimmte Elemente korrigiert haben, so z. B. Hinzufügen von Verweisen auf die SharePoint Server 2010-Assemblys und erneutes Verbinden der InfoPath-Formulare.Weitere Informationen finden Sie unter Importieren von SharePoint Server 2010-Workflows.

Visual Studio hat für Projekt- und Projektelementnamen samt Pfad eine maximale Länge von 260 Zeichen. Wenn Sie eine Projektmappe importieren und ein Elementname diese Grenze überschreitet, wird folgender Fehler angezeigt:

Der angegebene Pfad und/oder Dateiname 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:

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

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

Wenn Sie eine in einer früheren Version von SharePoint, etwa Windows SharePoint Services 3.0 oder Microsoft Office SharePoint Server 2007, erstellte Projektmappe importieren, ändern Sie entweder den Wert des SharePointProductVersion-Attributs 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 (Webformulare) nicht in SharePoint angezeigt.

Projektmappen in SharePoint Foundation 2010 oder SharePoint Server 2010 enthalten ein Attribut namens SharePointProductVersion. SharePoint verwendet dieses Attribut in seinen Paketmanifesten, um die SharePoint-Version zu bestimmen, für die die Projektmappe entworfen wurde. Die beiden gültigen Werte sind 12.0 und 14.0. Der Wert 12.0 gibt an, dass das Element für Windows SharePoint Services 3.0 oder Microsoft Office SharePoint Server 2007 entworfen wurde, der Wert 14.0 gibt an, dass das Element für SharePoint Foundation 2010 oder SharePoint Server 2010 entworfen wurde.

Für erhöhte Sicherheit beim Rendern von ASPX-Seiten erfordern SharePoint Foundation 2010 und SharePoint Server 2010, dass alle ASPX-Seiten oder Gestaltungsvorlagen ein Skript-Manager-Steuerelement enthalten. Weitere Informationen zum Skript-Manager finden Sie unter Übersicht über das ScriptManager-Steuerelement. Weil das Skript-Manager-Steuerelement in Windows SharePoint Services 3.0 und Microsoft Office SharePoint Server 2007 nicht verfügbar ist, 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, für die eine Standardgestaltungsvorlage verwendet wird, ist kein Skript-Manager-Steuerelement erforderlich, da der Standardgestaltungsvorlage bereits ein solches Steuerelement hinzugefügt wurde. ASPX-Seiten, für die keine Gestaltungsvorlage oder eine benutzerdefinierte Gestaltungsvorlage verwendet wird, muss jedoch ein Skript-Manager-Steuerelement 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 wird. Wenn Sie ein aktualisiertes Projekt bereitstellen, das ein Webformular ohne Skript-Manager hat, wird das Formular in SharePoint nicht angezeigt.

Anzeigen: