Question

J'ai une liste avec le type de contenu.J'essaie d'ajouter un champ à ce type de contenu afin que je puisse l'utiliser dans la bibliothèque. Voici j'ai ajouté des éléments.0.0.0.1.xml fichier au type de contenu:

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

Puis j'ai ajouté une action de mise à niveau vers la fonctionnalité.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>

Puis je cours après le script sans erreurs ni avertissements:

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

Maintenant, je peux voir un nouveau champ dans les colonnes de sites, mais pas dans mon type de contenu.Je suppose que le paramètre PushDown="TRUE" doit ajouter un nouveau champ à un type de contenu, mais ce n'est pas le cas.Qu'est-ce que je manque?

======== Update========= Solution déployée avec version= 1.0.0.0, puis modifié la version en 2.0.0.0, publiez le fichier WSP sur le disque local, exécutez la mise à jour de SPSolution.Quand je reçois une version de solution via PowerShell

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

C'est toujours 1.0.0.0. J'ai ouvert WSP Feature.xml Fichier Inside WSP Fichier - Il dispose de la version 2.0.0.0

Qu'est-ce que je manque?

Était-ce utile?

La solution 2

J'ai enfin obtenu la mise à niveau terminée.Voici une liste d'actions que j'ai procédé:

1.UPDate SPSOLUTION (fichier .WSP):

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

2.Upgrade Caractéristique:

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

et la partie la plus importante: vous devez redémarrer la console après chaque fois que vous mettez à jour la solution, sinon elle colle vers une version ancienne! Voici bonne Article sur le sujet.

Autres conseils

Donner la version à la fonctionnalité, I.E. VersionRange ID, puis supprimez de la propriété VersionRange la propriété de débutant.

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>

espère que cela aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top