Это зависит от того, где вы хотите выполнить свой код. Если у вас есть контекст sharepoint, вы можете использовать
SPWeb oWebsite = SPContext.Current.Web;
oWebsite.Features.Add(new Guid({guid of feature}));
или
using(SPWeb oWebsite = SPContext.Current.Site.OpenWeb("Website_URL"))
{
oWebsite.Features.Add(new Guid({guid of feature}));
}
Если вы, например, использовали консольное приложение и не имели SPContext, вы могли бы использовать
using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL"))
{
oWebsite.Features.Add(new Guid({guid of feature}));
}
}
Есть много других способов получить объект SPWeb, но это зависит от того, какая у вас информация о сайте (имя, URL, позиция в иерархии)
Если вы хотите активировать функцию, относящуюся к семейству сайтов или веб-приложению, вы можете получить SPSite или SPWebApplication аналогичным образом.
SPSite:
SPContext.Current.Site
или
SPSite oSiteCollection = new SPSite("Absolute_URL")
SPWebApplication:
SPContext.Current.Site.WebApplication
или
SPWebApplication.Lookup(new Uri("http://MyServer:989"));
и на любом из этих объектов вы можете позвонить
object.Features.Add(...))
Так же, как приведенный выше код.
Примечание. Область действия функции указана в файле feature.xml, подробности см. В следующем:
http://msdn.microsoft.com/en-us/library/ms436075.aspx