2010-03-17 50 views
0

我必須給客戶一個.wsp文件包括.STP文件功能來創建.wsp文件

請給我如何在精選內的.stp的例子,包括與其他沿該功能文件來創建一個.wsp文件。

我已經去了很多網站,他們顯示的步驟,但我不明白如何處理,因爲我有不同的文件,如.dlls文件,自定義事件接收器功能,自定義Web部件和網站模板.stp文件所有這一切我需要包括。我需要一個實例,我可以在其中查看manifest.xml文件的確切元素名稱或語法。例如:包含和刪除.dll文件我們使用匯編元素和相似的功能FeaturesMainfest元素就像我需要一個其他元素的例子,我可以包裝所有的文件來創建一個.wsp包

請幫我在這個 感謝 阿卜杜勒Afroze

回答

0

阿卜杜勒

看一看下面的例子。這將是您的主manifest.xml文件。

<?xml version="1.0" encoding="utf-8"?> 
<!-- Solution created by WSPBuilder. 10/21/2010 11:22:17 AM --> 
<Solution xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SolutionId="c0096412-9324-4bc5-a411-652d319efe59" xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <FeatureManifests> 
    <FeatureManifest Location="xxxxxxx\feature.xml" /> 
    </FeatureManifests> 
    <Assemblies> 
    <Assembly Location="xxxxxxxxxxxx.dll" DeploymentTarget="GlobalAssemblyCache" /> 
    </Assemblies> 
    <TemplateFiles> 
    <TemplateFile Location="LAYOUTS\xxxxxxx\xxxxxxx.asmx" /> 
    </TemplateFiles> 
    <Resources> 
    <Resource Location="xxxxxxx\ListTemplates\xxxxxxx.stp" /> 
    </Resources> 
</Solution> 

而在您的功能recivers類你需要上傳模板文件到模板文檔庫。這是一個非常簡單的例子。

private void UploadTemplates(SPDocumentLibrary templateGallery, string[] templateFiles) 
     { 
      try 
      { 
       if (templateGallery != null) 
       { 
        foreach (string str in templateFiles) 
        { 

        FileInfo info = new FileInfo(str); 
        SPQuery query = new SPQuery(); 
        query.Query = string.Format("<Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='Text'>{0}</Value></Eq></Where>", info.Name); 
        SPListItemCollection items = templateGallery.GetItems(query); 
        int[] numArray = new int[items.Count]; 
        for (int i = 0; i < items.Count; i++) 
        { 
         numArray[i] = items[i].ID; 
        } 
        for (int j = 0; j < numArray.Length; j++) 
        { 
         templateGallery.Items.DeleteItemById(numArray[j]); 
        } 
        byte[] file = File.ReadAllBytes(str); 
        templateGallery.RootFolder.Files.Add(info.Name, file); 
       } 
      } 
      else 
      { 
       // templateGallery is null 
      } 
     } 
     catch (Exception exception) 
     { 
      // handle your errors 
     } 
    }