Frage

Ich habe eine Liste mit Inhaltstyp darin.Ich versuche, diesem Inhaltstyp ein Feld hinzuzufügen, damit ich es in der Bibliothek verwenden kann.Hier ist, dass ich die Datei Elements.1.0.0.1.xml zum Inhaltstyp hinzugefügt habe:

    <?xml version="1.0" encoding="utf-8" ?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
     <Field ID="{63F353F8-F206-4BB0-A3C1-1B8FA9E43C63}" DisplayName="Dull field" Name="DULLfield" Type="Text" Group="RM" Overwrite="TRUE" />
    </Elements>

Dann habe ich die Upgrade-Aktion zu Feature.Template.xml hinzugefügt:

    <UpgradeActions>
    <VersionRange BeginVersion="0.0.0.0" EndVersion="10.0.0.0">
      <ApplyElementManifests>
        <ElementManifest Location="MyContentType\Elements.1.0.0.1.xml"/>
      </ApplyElementManifests>
      <AddContentTypeField ContentTypeId="0x0120D520005C2CAF72F4414435A29E0ACDC59F28D9" FieldId="{63F353F8-F206-4BB0-A3C1-1B8FA9E43C63}" PushDown="TRUE"/>
    </VersionRange>
  </UpgradeActions>

Dann führe ich das folgende Skript ohne Fehler oder Warnungen aus:

    Update-SPSolution -Identity sharepointproject1.wsp -LiteralPath  "C:\SharePointProject1.wsp" -GA
CDeployment

Jetzt kann ich das neue Feld in den Site-Spalten sehen, aber nicht in meinem Inhaltstyp.Ich nehme an PushDown="TRUE" Der Parameter muss einem Inhaltstyp ein neues Feld hinzufügen, tut dies aber nicht.Was vermisse ich?

========= Update ======== Bereitete Lösung mit Version = 1.0.0.0, dann in 2.0.0.0 geändert, WSP-Datei auf lokaler Festplatte veröffentlichen, update-solsole ausführen.Wenn ich die Lösungsversion über PowerShell erhalte

$f = Get-SPFeature | where{$_.DisplayName -eq '
myfeature'}
$f.version 

Es ist immer noch 1.0.0.0.Ich habe die Datei „wsp feature.xml“ in der Datei „wsp“ geöffnet – sie hat die korrekte Version 2.0.0.0

Was vermisse ich?

War es hilfreich?

Lösung 2

Ich habe das Upgrade endlich geschafft.Hier ist eine Liste der Aktionen, die ich durchgeführt habe:

1.Spsolution aktualisieren (.wsp-Datei):

   Update-SPSolution -Identity SharePointProject58.wsp -LiteralPath "<Path>" -GACDeployment

2.Upgrade-Funktion:

    $feature = $web.Features | where{$_.Definition.DisplayName -eq '*myfeature*'} 
$feature.Upgrade($true)

Und das Wichtigste:Sie müssen die Konsole nach jedem Update der Lösung neu starten, sonst bleibt sie bei der alten Version!Hier ist gut Artikel zum Thema.

Andere Tipps

Geben Sie der Funktion eine Versionierung, d. h.VersionRange-ID, und entfernen Sie dann die BeginVersion-Eigenschaft aus VersionRange.

Beispiel:

<Feature xmlns="http://schemas.microsoft.com/sharepoint/" Version="10.0.0.0">
  <UpgradeActions>
    <VersionRange EndVersion ="10.0.0.0">
      <ApplyElementManifests>
        <ElementManifest Location="MyContentType\Elements.1.0.0.1.xml"/>
      </ApplyElementManifests>
      <AddContentTypeField ContentTypeId="0x0120D520005C2CAF72F4414435A29E0ACDC59F28D9" FieldId="{63F353F8-F206-4BB0-A3C1-1B8FA9E43C63}" PushDown="TRUE"/>
    </VersionRange>
  </UpgradeActions>
</Feature>

Ich hoffe es hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top