سؤال

لدي قائمة بنوع المحتوى فيها.أحاول إضافة حقل إلى نوع المحتوى هذا حتى أتمكن من استخدامه في المكتبة.لقد أضفت ملف Elements.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" يجب على المعلمة إضافة حقل جديد إلى نوع المحتوى، لكنها لا تفعل ذلك.ماذا أفتقد؟

======== update ======== SOLTER مع الإصدار = 1.0.0.0 ، ثم تغيير الإصدار إلى 2.0.0.0 ، قم بنشر ملف WSP على القرص المحلي ، قم بتشغيل SPPSSSOTULE.عندما أحصل على إصدار الحل عبر PowerShell

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

لا يزال 1.0.0.0.لقد قمت بفتح ملف wsp feature.xml داخل ملف wsp - يحتوي على الإصدار الصحيح 2.0.0.0

ماذا أفتقد؟

هل كانت مفيدة؟

المحلول 2

لقد قمت أخيرًا بالترقية.فيما يلي قائمة بالإجراءات التي قمت بها:

1.تحديث spsolution (ملف .wsp):

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

2. ميزة الترقية:

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

والجزء الأهم:يجب عليك إعادة تشغيل وحدة التحكم بعد كل مرة تقوم فيها بتحديث الحل، وإلا فسيتم الالتزام بالإصدار القديم!هنا جيد شرط حول هذا الموضوع.

نصائح أخرى

إعطاء الإصدار للميزة، على سبيل المثال.معرف VersionRange، ثم قم بإزالة خاصية BeginVersion من VersionRange.

مثال:

<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