Включить файл .STP в качестве функции для создания файла .WSP - PullRequest
0 голосов
/ 17 марта 2010

Я должен дать клиенту файл .wsp

Пожалуйста, дайте мне пример того, как включить .stp внутри функции и включить эту функцию вместе с другими файлами для создания файла .wsp.

Я прошел по многим сайтам, где они показывают шаги, но я не понимаю, как к ним подходить, поскольку у меня есть разные файлы, такие как файлы .dll, настраиваемые функции получателей событий, настраиваемая веб-часть и шаблон .stp сайта. нужно включить. Мне нужен один пример, где я могу увидеть точное имя элемента или синтаксис файла manifest.xml. Например, для включения и удаления файлов .dll мы используем элемент ассемблера и аналогичные элементы для элемента FeaturesMainfest, например, мне нужен один пример других элементов, где я могу обернуть все файлы для создания пакета .wsp

Пожалуйста, помогите мне в этом Спасибо Абдул Афрозе

1 Ответ

0 голосов
/ 26 ноября 2010

Абдул,

Посмотрите на следующий пример. Это будет ваш основной файл 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>

И в вашем классе получателей объектов вам нужно загрузить файл шаблона в библиотеку документов шаблона. Вот очень простой пример.

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
        }
    }
...