我正在使用网络范围功能创建网站定义,该功能可在当前网站上创建子网站。我想在用户根据该定义创建站点时在站点上激活此功能。
当我激活它时,该功能正常工作,问题是当我尝试根据定义创建网站时出现以下错误:
ID为“Id”的功能未安装在此服务器场中,无法添加到此范围。
我尝试将范围更改为Farm,但它会出现错误“部署步骤中出现错误'添加解决方案':无法将”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();
}
}
如果有人需要更多信息,请告诉我。
答案 0 :(得分:1)
打开Feature设计器并选择Scope:WebApplication
答案 1 :(得分:0)
<SiteFeatures>
<Feature ID="C85E5759-F323-4EFB-B548-443D2216EFB5" />
<Feature ID="A392DA98-270B-4e85-9769-04C0FDE267AA" />
<Feature ID="7C637B23-06C4-472d-9A9A-7C175762C5C4" />
</SiteFeatures>
<WebFeatures>
<Feature ID="00BFEA71-DE22-43B2-A848-C05709900100" />
<Feature ID="00BFEA71-E717-4E80-AA17-D0C71B360101" />
</WebFeatures>
<Modules>
<Module Name="Home" />
</Modules>