Я работаю над автоматическим сценарием для развертывания проектов sharepoint.Я использую веб-шаблон уровня песочницы, который должен применяться при создании сайта.У меня было много проблем с этим, потому что кажется, что sharepoint кеширует список веб-шаблонов, а get-spwebtemplate не находит новый добавленный.Вот как я это сделал:
[system.reflection.assembly]::LoadWithPartialName("Microsoft.Sharepoint")
$site= new-Object Microsoft.SharePoint.SPSite($web_application_complete_url)
$site.OpenWeb().ApplyWebTemplate($web_template_name)
$site.Dispose()
Как видите, я использую api .net sharepoint вместо командлетов.Это хорошо работает в PowerShell ISE, но в консоли PowerShell выдает исключение, относящееся к указанной DLL:
Исключение, вызывающее «ApplyWebTemplate» с аргументом «1»: «Не удалось загрузить файл или сборку» XXX.SharePoint.Common, версия = 1.0.0.0, культура = нейтральная, PublicK eyToken = 534c125b45123456 'или одна из ее зависимостей. Система не может найти указанный файл. "В C: \ Build \ SharePointBuild.p s1: 318 char: 37 + $ site.OpenWeb (). ApplyWebTemplate <<<< ($ web_template_name) + CategoryInfo: NotSpecified: (:) [], ParentContainsErrorRecordE xception + FullyQualifiedErrorId: DotNet1006 * <p>Сборка отлично регистрируется в GAC при установке решения для песочницы веб-шаблона в коллекцию сайта.
Есть идеи?спасибо!