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.
Hinweis |
---|
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 2012 unterstützt vollständig das Importieren von Projektmappen, die in SharePoint Foundation 2010 und SharePoint Server 2010 erstellt wurden.
Visual Studio 2012 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
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.Auch wenn ein gelöschtes Element eine zugehörige Eigenschaftensammlung hat, dann löschen Sie diese Eigenschaftensammlungen aus der Datei PropertyBags-Elements.xml. Wenn Sie Elemente aus einer importierten Projektmappe löschen und Sie Bereitstellungsfehler auftreten, Überprüfen, ob der abhängigen Dateien ggf. anzuzeigen 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 noch, jedoch nicht gelöscht oder überschrieben bereitgestellt oder aktualisiert. 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 derzeit nicht in Visual Studio Workflowprojektmappen 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 und/oder Dateiname ist zu lang.Der voll 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.
Hintergrund
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
Gewusst wie: Hinzufügen einer vorhandenen BDC-Modelldatei zu einem SharePoint-Projekt
Konzepte
Richtlinien für das Importieren von wiederverwendbaren Workflows