Sharepoint 2013 GetGenericSetupPath return 错误路径

Sharepoint 2013 GetGenericSetupPath return wrong path

我正在尝试获取 Sharepoint 2013 位置的文件路径,而无需在代码上硬编码值。

我发现方法 GetGenericSetupPath,SPUtility class,它有一个奇怪的行为:

SPUtility.GetGenericSetupPath("Template") 

返回

"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\Template"

在第 15 个蜂巢上

取而代之

SPUtility.GetGenericSetupPath("template\LAYOUTS")

return 14 个配置单元上的路径

"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\template\LAYOUTS"

最终默认路径似乎是 hive 15:

SPUtility.GetGenericSetupPath("")

"C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\" string

经过一番调查,我发现了这个 post:

问题在于

SPUtility.GetGenericSetupPath Method IS OBSOLETE

并且它 returns 一个 link 到第 14 个配置单元 (SharePoint 2010),而不是新的第 15 个配置单元 (SharePoint 2013)。

我们必须使用 SPUtility.GetVersionedGenericSetupPath() 而不是这个,您可以在其中选择使用哪个版本的共享点,因此您可以指定:

SPUtility.GetVersionedGenericSetupPath("TEMPLATE\FEATURES", 15)