2012-05-07 56 views
1

我使用在当前网站上创建子网站的网络作用域特征创建网站定义。我想在用户根据该定义创建站点时在站点上激活此功能。在网站定义中激活网络作用域特征

该功能正常工作,当我激活它,但问题是,我得到以下错误,当我试图创建一个基于定义一个网站:

特征与标识“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

打开功能设计和选择范围:WebApplication的

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>