1

我创建了一个功能,我希望它在安装时被激活。这是代码:

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();
}

部署时出现错误:

部署步骤“添加解决方案”中发生错误:对象引用未设置为对象的实例。

我不明白为什么我会收到这个错误。关于为什么的任何想法?谢谢!

4

0 回答 0