문제

콘텐츠 유형이있는 목록이 있습니다.이 콘텐츠 유형에 필드를 추가하려고하고 있으므로 라이브러리에서 사용할 수 있습니다. 여기에 요소가 추가되었습니다 .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>
.

그런 다음 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>
.

오류나 경고없이 다음 스크립트를 실행합니다.

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

이제 사이트 열의 새로운 필드를 볼 수 있지만 내 콘텐츠 유형에는 사용할 수 없습니다.PushDown="TRUE" 매개 변수가 새 필드를 콘텐츠 유형에 추가해야하지만 그렇지 않습니다.내가 뭘 그리워 하는가?

======== update======== 배포 된 솔루션 버전= 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 파일 안에 WSP Feature.xml 파일을 열었습니다. 올바른 버전 2.0.0.0

나는 무엇을 놓친가?

도움이 되었습니까?

해결책 2

마침내 업그레이드가 완료되었습니다.다음은 내가 진행 한 행동 목록이 있습니다.

1.WSP 파일 (.wsp 파일) :

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

2.Upgrade 기능 :

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

및 가장 중요한 부분 : 솔루션을 업데이트 할 때마다 콘솔을 다시 시작해야합니다. 그렇지 않으면 오래된 버전에 스틱합니다! 기사 <./ a> 주제에.

다른 팁

기능, 즉 VersionRange ID를 버전에 제공 한 다음 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>
.

그것은 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top