Addcontenttypefield - не может добавить поле в тип содержимого

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/113501

  •  29-09-2020
  •  | 
  •  

Вопрос

У меня есть список с типом контента в нем.Я пытаюсь добавить поле в этот тип содержимого, чтобы я мог использовать его в библиотеке. Вот я добавил элементы.1.0.0.1.xml Файл к типу содержимого:

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

Тогда я добавил действие обновления на функцию .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>
.

Тогда я проводим следующий скрипт без ошибок или предупреждений:

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

Теперь я вижу новое поле в столбцах сайта, но не в моем типе содержимого.Я полагаю, что параметр PushDown="TRUE" должен добавить новое поле в тип контента, но это не так.Что мне пропустить?

======== Обновление======== Развернутое решение с версией= 1.0.0.0, затем изменила версию до 2.0.0.0, опубликовать файл WSP на локальный диск, запустите обновление-spsolution.Когда я получаю версию решения через PowerShell

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

Это все равно 1.0.0.0. Я открыл файл wsp face.xml внутри файла wsp - имеет правильную версию 2.0.0.0

Что мне пропустить?

Это было полезно?

Решение 2

Я наконец получил обновление.Вот список действий, которые я продолжал:

1.update spsolution (файл .wsp):

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

2. Обнаженная функция:

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

И самая важная часть: вы должны перезапустить консоль после каждого времени, когда вы обновляете решение, в противном случае он придерживается старой версии! Вот хорошо / a> на эту тему.

Другие советы

Дайте версию к функции, то есть I.e. VestyRange ID, затем удалите из VersionRange Property BeginVersion.

exmple:

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

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top