SharePoint网站定义未显示在模板列表中 - 为什么?

时间:2008-10-10 21:00:44

标签: sharepoint stsadm solution-deployment

我有一些通过SharePoint wsp解决方案包部署的自定义SharePoint网站定义。他们似乎工作正常。我可以通过stsadm命令行部署它们,并且在某些功能中运行的C#代码也可以基于它们部署站点。部署解决方案后,我的webtemp.*.xml文件似乎已正确放置在12\1033\XML文件夹中。我的问题是,当我尝试Create Site Collection.时,他们只是没有出现在中央管理员应用程序中为什么不呢?我甚至不知道在哪里寻找这个。


修改

嗯..大约一个小时后,我碰巧回到了创建网站集页面,我的模板就在那里。我不确定是什么东西......怪异的缓存某处或某事。

我也应该更清楚这些解决方案包已经在我的开发箱上成功部署了很多次,所以我没想到在这个其他服务器上存在问题(无论如何都有部署方面)。

4 个答案:

答案 0 :(得分:1)

SharePoint中的许多任务都排队,然后通过计时器作业执行。 IISReset会将Web应用程序重新加载到内存中,并提供配置信息,例如要重新加载的web.config。

要让SharePoint“轻推”并导致作业执行,您可以尝试:

stsadm -o execadmsvcjobs

答案 1 :(得分:0)

您是否启用了发布功能?我读到内容类型无法保存在模板中,因此它们不允许将发布网站制作为模板。这或许与他们为什么不向您展示您已经制作的那些有关。

虽然我无权访问中央管理员进行验证,但我的网站集中就是这种情况。

答案 2 :(得分:0)

你忘记了运行iisreset吗? 这是SharePoint重新加载网站模板所必需的。

答案 3 :(得分:0)

如果使用“记录中心”作为根网站的模板,则在创建新列表时,模板库中的模板(.stp文件)将不会显示。

有一些奇怪的错误可以解决这个问题。

以下是您可以尝试在SharePoint PowerShell中运行的代码。如果您拥有从记录中心模板制作的根网站,则GetCustomListTemplates($ web).Count的返回值将为零。

$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

可在以下链接中找到更多信息: