Pregunta

Tengo una lista con el tipo de contenido en el mismo.Estoy tratando de agregar un campo para este tipo de contenido, así que la voy a usar en la biblioteca.Aquí he añadido Elements.1.0.0.1.xml archivo para Tipo de Contenido:

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

Luego he añadido una Acción de Actualización a Feature.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>

Entonces me ejecute la siguiente secuencia de comandos no hay errores o advertencias:

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

Ahora puedo ver nuevo campo en Columnas de Sitio, pero no en mi Tipo de Contenido.Supongo PushDown="TRUE" parámetro tiene que agregar nuevo campo a un tipo de contenido, pero no es así.¿Qué puedo perder?

======== Update ======== Solución implementada con Version = 1.0.0.0, luego se cambió a la Versión 2.0.0.0, Publicar WSP archivo en el disco local, ejecutar Update-SPSolution.Cuando llego versión de Solución a través de PowerShell

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

Todavía es 1.0.0.0.He abierto wsp feature.xml el archivo dentro de archivo wsp - se ha de corregir la versión 2.0.0.0

¿Qué puedo perder?

¿Fue útil?

Solución 2

Por fin he conseguido la actualización.Aquí está una lista de acciones que procedió:

1.Actualización spsolution (.archivo wsp):

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

2.La característica de actualización:

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

Y la parte más importante:Tendrá que reiniciar la consola después de cada vez que la actualización de la solución, de lo contrario, se pega a la versión anterior!Aquí es bueno artículo sobre el tema.

Otros consejos

Dar el control de versiones para la función, es decir,VersionRange id, a continuación, retirar del VersionRange la BeginVersion de la propiedad.

Ejemplo:

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

Espero que ayude.

Licenciado bajo: CC-BY-SA con atribución
scroll top