在网上搜索了很长时间后,我不明白为什么今天我的SharePoint网站会出现有线行为。
我解释一下,
我有一个网站集(Blank Site
模板(,其中包含lists
content types
和site columns
。
我的web应用程序中没有特定的配置,我的网站集中也没有特殊的配置。
当我尝试save Site as Template
时,我得到了一个错误,告诉我site field
(它是一个类型为LookUp
的站点列(有问题。
附言:我有一个基于内容类型的列表,该列表基于该网站列
当我删除site column
时,模板创建操作成功了,这有点有线。
以前有人面对过这种情况吗?有人能复制这个问题吗?以及如何找到解决此问题的方法,因为我需要该列的类型为lookup
。
有人能帮我吗?
这是"将网站另存为模板"的已知问题,此操作不是完全保真的,因为正如您所说,如果您从SharePoint
(来自U.I(而不是从Visual Studio
添加Site colum
,则可以执行此操作。。。
在这里,你可以推断出这个问题与Visual Studio
和部署行动背后发生的事情有关。。。
这个问题有许多变通的解决方案:
首先,你可以在.Package
文件(设计模式(中看到内容类型和列表等的部署顺序,在那里你必须以精确的顺序找到元素,例如,父站点列及其相关内容类型和列表(实例和定义(必须位于子站点列(包含查找的站点列(之前,以便SharePoint按正确顺序提供相关字段。此操作在后中更详细
其次,在这个链接中,您需要将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>
最后,还有一项工作要做,它将尝试使用PowerShell
命令对站点进行BackUp
然后Restore
。