我创建了一个功能,我希望它在安装时被激活。这是代码:
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();
}
部署时出现错误:
部署步骤“添加解决方案”中发生错误:对象引用未设置为对象的实例。
我不明白为什么我会收到这个错误。关于为什么的任何想法?谢谢!