Sharepoint查找字段和WebId ="

Mic*_*hal 5 sharepoint content-type lookup-field

我尝试在内容类型中添加查找字段.Field有这个定义:

<Field ID="{c80e8e3c-7124-4772-a39d-5b69f131d542}"
         Name="Site"
         Group="Tieto Intranet Columns"
         Type="Lookup"
         DisplayName="Site"
         StaticName="Site"
         List="Lists/FavoriteSites"
         ShowField="Title"
         PrependId="TRUE"
         WebId="~sitecollection"
   >
Run Code Online (Sandbox Code Playgroud)

我希望通过此查找字段引用的FavoriteSites列表存在于网站集范围内.部署顺利,但是当我使用此查找基于内容类型创建列表时,看起来查找字段未连接到FavoriteSites列表.我将一些数据添加到FavoriteSites中,而不是尝试在FavoriteSites上的查找字段中添加内容到第二个列表中.不幸的是下拉选择,这应该显示我从FavoriteSites列表中的数据是空的.

当我手动为FavoriteSites创建新的查阅列时,一切正常.

有人知道这个查找定义中哪里有问题?

更新:

正如Rich推荐我的那样,我在Verbose上设置日志级别找到这条消息:

无法找到在特征{d86c7005-d31d-43ae-b86b-38f28b81072e}中为字段{c80e8e3c-7124-4772-a39d-5b69f131d542}指定的WebId = ~sitecollection和List = Lists/FavoriteSites属性.设置列表= {39CEC23E-FB28-47B3-BC36-C21780AD1D94}.

我不明白,因为列表收藏网站存在.FavoriteSites列表以及具有"站点"字段的第二个列表由网站集范围上的一个功能部署.

我无法通过GUID在查找中指定列表,因为我不知道部署时间中的guid.

Ric*_*ema 4

该日志消息的含义是,网站集根网站或激活该功能的网站(如果后者是子网站)中不存在 Lists/FavoriteSites。

如果某个功能正在创建列表/FavoriteSites,请确保在字段功能之前激活它。如果需要,请将 ListInstance 元素放在 Field 元素的正上方。但消息很明确:将自定义字段设置到网站集时该列表不存在。这就是它不起作用的原因。

需要明确的是,该列表必须在激活该功能时存在,而不仅仅是在创建将使用该字段的列表实例时存在。

PS 我通过检查Microsoft.SharePoint.SPFieldElement.PerformFixUpIfLookUpField 方法的“文档”发现了这一点。