Domanda

Ho una lista con il tipo di contenuto in esso.Sto cercando di aggiungere un campo a questo tipo di contenuto, quindi posso usarlo nella libreria. Ecco che ho aggiunto elementi.1.0.0.1.xml File al contenuto Tipo:

    <?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>
.

Allora ho aggiunto l'azione di aggiornamento a funzionalità.template.xml:

    <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>
.

Quindi eseguo il seguente script senza errori o avvisi:

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

Ora posso vedere il nuovo campo nelle colonne del sito, ma non nel mio tipo di contenuto.Suppongo che il parametro PushDown="TRUE" deve aggiungere un nuovo campo a un tipo di contenuto, ma non lo è.Cosa mi manca?

======== Aggiorna======== Soluzione distribuita con versione= 1.0.0.0, quindi viene modificata la versione in 2.0.0.0, pubblica il file WSP sul disco locale, eseguire l'aggiornamento-spsolution.Quando ricevo la versione della soluzione tramite PowerShell

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

È ancora 1.0.0.0. Ho aperto wsp funzionalità.xml File all'interno del file WSP - ha una versione corretta 2.0.0.0

Cosa mi manca?

È stato utile?

Soluzione 2

Ho finalmente ottenuto l'aggiornamento fatto.Ecco un elenco di azioni che ho proceduto:

1.Pdate Spsolution (file .wsp):

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

2.upgrade caratteristica:

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

E la parte più importante: è necessario riavviare la console dopo ogni volta che si aggiorna la soluzione, altrimenti si attacca alla vecchia versione! Ecco buoni Articolo sull'argomento.

Altri suggerimenti

Dare il controllo della versione alla funzione, I.e. VersionRange ID, quindi rimuovere da VersionRange la proprietà BeginVersion.

Exemple:

<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>
.

Spero che aiuti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top