我有一些通过SharePoint wsp解决方案包部署的自定义SharePoint网站定义。它们看起来工作得很好。我可以通过stsadm命令行很好地部署它们,我的C#代码运行在一些功能中也可以基于它们部署站点。部署解决方案时,我的webtemp.*.xml
文件似乎已正确放置在121033XML
文件夹中。我的问题是,当我尝试Create Site Collection.
时,它们不会出现在中央管理应用程序中。为什么不呢?我甚至不知道去哪里找这个。
编辑:
嗯。。大约一个小时后,我碰巧回到创建网站集页面,我的模板就在那里。我不知道发生了什么。。。奇怪的缓存。
我也应该更清楚,这些解决方案包已经在我的开发箱上成功部署了很多次,所以我没想到在另一台服务器上会出现问题(无论如何,部署方面)。
SharePoint中的许多任务都会排队,然后通过计时器作业执行。IISReset会导致将web应用程序重新加载到内存中,并导致重新加载配置信息(例如web.config)。
要给SharePoint一个"推动"并导致作业执行,您可以尝试:
stsadm -o execadmsvcjobs
您启用了发布功能吗?我读到内容类型不能保存在模板中,所以它们不允许将发布网站制作成模板。这可能与他们为什么不向你展示你已经制作的产品有关。
虽然我无法访问中央管理员进行验证,但我的网站集中就是这样。
您忘记运行iisreset了吗?这是SharePoint重新加载网站模板所必需的。
如果使用记录中心作为根网站的模板,则在创建新列表时,模板库中的模板(.stp文件)将不会显示。
有一个奇怪的错误导致了这种情况的发生。
以下是您可以尝试在SharePoint PowerShell中运行的代码。GetCustomListTemplates($web)的返回值。如果您使用记录中心模板制作根网站,则计数将为零。
$site = get-spsite("http://localhost")
$web = $site.RootWeb
$list = $web.Lists["TestDocLibrary"]
$list.SaveAsTemplate("MyListTemplate.stp", "MyListTemplate", "My List Template", $false)
$site.GetCustomListTemplates($web).Count
更多信息可以在以下链接中找到:
- http://social.msdn.microsoft.com/Forums/ar/sharepoint2010general/thread/c5455a27-360a-465c-91d5-f81beeac6789
- http://sharepointrecordsmanagement.com/2011/02/