我正在创建一个具有网络范围功能的站点定义,该功能在当前站点上创建一个子站点。当用户根据该定义创建站点时,我想在站点上激活此功能。
该功能在我激活时正常工作,问题是当我尝试根据定义创建站点时出现以下错误:
此场中未安装 ID 为“Id”的功能,因此无法将其添加到此范围。
我试图将范围更改为农场,但它让我出现错误“部署步骤'添加解决方案'中发生错误:无法将'Microsoft.SharePoint.Administration.SPWebService'类型的对象转换为'Microsoft.SharePoint.SPWeb' ",另外,我想把这个功能放在农场范围内是没有意义的。
我的站点定义“网络功能”节点包含:
<WebFeatures>
<Feature ID="6e512cb1-1a3f-43d6-a756-55c1a9eadd2c" />
</WebFeatures>
我的特征接收器方法是:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
if (!web.Webs["subsite1"].Exists)
{
web.Webs.Add("subsite1");
web.Update();
}
}
如果有人需要更多信息,请告诉我。