我已经创建了一个功能,我想在安装时激活它。 这是代码:
public override void FeatureInstalled(SPFeatureReceiverProperties properties)
{
SPWeb web = properties.Feature.Parent as SPWeb;
SPWebTemplateCollection existingWebTemps = web.GetAvailableWebTemplates(1033);
Collection<SPWebTemplate> newWebTemps = new Collection<SPWebTemplate>();
for (int i = 0; i < existingWebTemps.Count; i++)
{
if (!existingWebTemps[i].Title.ToLower().Contains("blog"))
{
newWebTemps.Add(existingWebTemps[i]);
}
}
web.SetAvailableWebTemplates(newWebTemps, 1033);
web.Update();
string fID = "aeb3aa40-8a42-4577-bed2-a0e65eff8b04";
Guid gfID = new Guid(fID);
SPFeatureCollection featatv = web.Features;
Boolean control = true;
foreach (SPFeature myfeat in featatv)
{
if (myfeat.DefinitionId == gfID)
{
control = false;
}
}
if (control == true)
{
web.Features.Add(gfID);
}
web.Dispose();
}
当我部署时,我收到错误:
部署步骤中出错“添加解决方案”:未将对象引用设置为对象的实例。
我无法理解为什么我会收到此错误。 有什么想法吗? 谢谢!