清除PowerShell Sharepoint缓存?

Den*_*s G 9 powershell sharepoint-2010

我有一个奇怪的问题:

我使用PowerShell部署了一个包含东西和网站模板的WSP包

Add-SPSolution ...
Install-SPSolution ...
Run Code Online (Sandbox Code Playgroud)

现在尝试创建新的网站集时,我的模板可见,我可以使用我的模板创建新的网站集.

当我尝试在与以前相同的会话中使用PowerShell(Get-SPWebTemplate)查看所有已安装的网站模板时,新模板不会出现!

反之亦然:在撤销/删除解决方案时,我不能再使用模板创建新的网站集,因为它已经消失了.但在仍然打开的PowerShell会话中,模板仍然可见.

唯一的解决方案:在收回/部署解决方案后打开一个新的PowerShell会话 - 仅在此"新鲜"会话中,更改将同步.

我的问题是:如何清除此PowerShell缓存?如何直接从服务器而不是从某个缓存中获取网站模板列表?

其他一些人也提出关闭/重新打开PowerShell(PowerShell缓存导致头撞) - 这不是解决方案......

免责声明:"如何清除PowerShell对象模型缓存"中的交叉帖子.

Den*_*s G 4

事实证明,PowerShell实际上缓存一些东西,特别是OWSSVR.DLL.

\n\n

有两种(和 \xc2\xbd)方法可以解决这个问题:

\n\n
    \n
  1. 使用漂亮的 PowerShell 片段终止 Sharepoint 线程并重新加载 DLL
  2. \n
  3. 使用从第一个会话中启动的不同 PowerShell 会话
  4. \n
  5. 使用老式 stsadm 创建站点,因为 stsadm 位于另一个线程中,因此已经“看到”新站点模板
  6. \n
\n\n

我选择了方法 2 \xc2\xbd(表示为 3),因为它是使用单行 stsadm 最简单的方法,而不是调用另一个 PS 会话。

\n