【发布时间】:2010-10-07 17:30:14
【问题描述】:
我正在开发一个用于部署共享点项目的自动化脚本。我正在使用创建站点时必须应用的沙盒级 web 模板。这样做我遇到了很多麻烦,因为似乎 sharepoint 缓存了 webtemplates 列表,而 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()
如您所见,我使用的是 .net sharepoint api 而不是 cmdlet。这在 PowerShell ISE 中很有效,但在 PowerShell 控制台中它会引发关于引用的 DLL 的异常:
使用“1”参数调用“ApplyWebTemplate”的异常:“无法加载文件 或程序集 'XXX.SharePoint.Common,版本 = 1.0.0.0,文化 = 中性,PublicK eyToken=534c125b45123456' 或其依赖项之一。系统找不到 指定的文件。” 在 C:\Build\SharePointBuild.p s1:318 字符:37 + $site.OpenWeb().ApplyWebTemplate
在站点集合中安装 Web 模板沙盒解决方案时,程序集已在 GAC 中完美注册。
有什么想法吗?谢谢!
【问题讨论】:
标签: sharepoint powershell powershell-ise