2012-05-07 113 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>