Powershell:使用SharePoint API,GetLocalizedString不会返回任何内容

时间:2012-03-21 16:47:47

标签: sharepoint powershell

我有一个使用SharePoint API的函数,因此公开了SPUtility.GetLocalizedString方法。

我还确定了uint语言编号1033(英语)和1036(法语)作为参数之一。

[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")

$en = 1033
$fr = 1036
$str = "$Resources:docliblist"
$resx = "core"
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $resx, $en)
$locstr
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString ("$Resources:doclibList", "core", $fr)
$locstr

当我运行该函数时,$ locstr为空。不为空,只是空。

另外,当我以这种方式使用这个功能时:

$str = "$Resources:core, docliblist"
$locstr = [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString($str, $null, $en)

我得到'docliblist'的返回值

现在,虽然我可以从resx文件中取出我需要的东西并放入我自己的配置文件中,但我很困惑为什么这不起作用。如果有人有任何建议我会很感激。

感谢。

*编辑

更改引号有什么意义?

1 个答案:

答案 0 :(得分:3)

如果$Resources不是powershell变量,则需要转义'$'。试试这种方式:

$str = "`$Resources:docliblist"