AddContentTypeField - 无法将字段添加到内容类型
-
29-09-2020 - |
题
我有一个包含内容类型的列表。我正在尝试向此内容类型添加一个字段,以便我可以在库中使用它。我已将 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>
然后我将升级操作添加到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"
参数必须向内容类型添加新字段,但事实并非如此。我想念什么?
====================== = = = = 1.0.0.0,然后将版本更改为2.0.0.0,将WSP文件发布到本地磁盘,运行Update-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.更新spsolution(.wsp文件):
Update-SPSolution -Identity SharePointProject58.wsp -LiteralPath "<Path>" -GACDeployment
2.升级功能:
$feature = $web.Features | where{$_.Definition.DisplayName -eq '*myfeature*'}
$feature.Upgrade($true)
最重要的部分:每次更新解决方案后都必须重新启动控制台,否则它会保留旧版本!这里好 文章 就此主题而言。
其他提示
为该功能提供版本控制,即VersionRange id,然后从 VersionRange 中删除 BeginVersion 属性。
示例:
<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>
希望能帮助到你。