使用LookupSite列时“将站点另存为模板”出错

时间:2014-08-06 10:59:50

标签: visual-studio-2013 sharepoint-2013 content-type sharepoint-list site-column

经过长时间的网络搜索,我无法弄清楚为什么我今天在使用我的SharePoint网站时遇到了有线行为。

我解释一下,

我有一个网站集(Blank Site模板),其中包含lists content typessite columns

我的网络应用中没有特定配置,我的网站集中没有特殊配置。

当我尝试save Site as Template时,我收到错误消息,指出site field(这是LookUp类型的网站列)存在问题。

  

P.s:我有一个基于内容类型的列表,该列表基于该站点列

当我删除site column时,模板创建的操作成功,这是有线的。

以前有人遇到过这个吗?任何人都可以重现这个问题吗?以及如何找到此问题的解决方法,因为我需要该列为lookup类型。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

这是"将网站另存为模板"的一个已知问题,此操作并非完全保真因为如您所说,如果您从Site colum添加SharePoint,则可以执行此操作(来自用户界面),而不是来自Visual Studio ...

在此,您可以推断此问题与Visual Studio以及部署操作背后发生的情况有关......

此问题有许多解决方案解决方案:

首先,您可以在.Package文件(设计模式)中查看内容类型和列表等的部署顺序,您必须按照精确的顺序查找元素,例如父SiteColumn和其相关的内容类型和列表(实例和定义)必须位于子siteColumn(包含查找的One)之前,以便让SharePoint以正确的顺序提供相关的字段。此操作在此Post

中更详细

其次,在this link中,您需要将OverWrite属性放在SiteColumn的Elements.xml中并使用查找,您的Elements.xml应该类似于This

<Field
       ID="{c2f3c9d3-2433-45d5-89a2-4899dc9642f1}"
       Name="FieldName"
       DisplayName="FieldDisplayName"
       Type="Lookup"
       List="Lists/YourList"
       ShowField="FieldToLookupOn"
       Overwrite="TRUE"
       Required="FALSE"
       Group="Custom Site Columns">
  </Field>

最后,还有一项工作要做,即使用BackUp命令尝试Restore然后PowerShell网站。