Мое предложение состояло бы в том, чтобы развернуть главные страницы как функцию, а не как ручной процесс. Решения (WSP) и Функции - это поддерживаемый способ развертывания контента / функций в sharepoint. Действительно отличный инструмент для разработки sharepoint называется WSPBuilder
Главная страница развертывается в sharepoint в виде «модуля», который вы поместите в свой файл elements.xml в функции.
Представьте решение как файл .cab с другим расширением. Внутри этого находится файл с именем feature.xml, который определяет заголовок вашего пакета при его развертывании. Функции можно активировать и деактивировать для развертывания и отмены развертывания вашего контента в частях вашей фермы.
Вот пример файла CSS, развернутого в виде модуля ... Главные страницы будут похожи, однако они будут развернуты в галерее главных страниц, а не в библиотеке стилей. Этот модуль развертывает пользовательский файл CSS в «Библиотеке стилей» семейства сайтов. После того, как это развернуто, я использовал «Feature Receiver» (обработчик событий), чтобы получить ссылку на объект SPSite и изменить его альтернативную таблицу стилей так, чтобы произошло мое переопределение.
Feature.xml
<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/"
Id="63BB13A0-1F9C-4c3b-BE60-10E59CEE0113"
Title="Custom CSS Feature"
Description="Deploying a custom CSS using a feature"
Version="1.0.0.0"
Hidden="FALSE"
Scope="Site"
ReceiverAssembly="CustomCSSFeature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=24f1377a8414d2ed"
ReceiverClass="CustomCSSFeature.FeatureReceivers.CustomCSSFeatureReceiver"
>
<ElementManifests>
<ElementManifest Location="elements.xml"/>
</ElementManifests>
</Feature>
elements.xml - вы изменили бы это, чтобы отразить, где должны быть развернуты главные страницы. Я думаю, это свойство Url. Путь = «Стили» относится к относительному пути в самой функции, где находится таблица стилей (например, в вашей визуальной студии у меня есть подпапка с именем styles под папкой CustomCSSFeature, и именно там находится таблица стилей)
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="OSGStyles" Url="Style Library" Path="Styles" RootWebOnly="TRUE">
<File Url="custom-css.css" Type="GhostableInLibrary" />
</Module>
</Elements>
Затем в моем классе приемника объектов я активировал / деактивировал обработчики, которые «применяют» таблицу стилей к сети публикации. В вашем случае вы также можете изменить главную страницу по умолчанию для веб-сайта в приемнике функций.
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
using (SPWeb web = site.OpenWeb())
{
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
publishingWeb.AlternateCssUrl.SetValue(web.ServerRelativeUrl +
"/Style Library/custom-css.css", true);
publishingWeb.Update();
web.Update();
}
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
using (SPWeb web = site.OpenWeb())
{
PublishingWeb publishingWeb = PublishingWeb.GetPublishingWeb(web);
publishingWeb.AlternateCssUrl.SetValue("", true);
publishingWeb.Update();
web.Update();
}
}