Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将枚举传递给函数PowerShell_Powershell_Tfs_Enums - Fatal编程技术网

无法将枚举传递给函数PowerShell

无法将枚举传递给函数PowerShell,powershell,tfs,enums,Powershell,Tfs,Enums,我已将代码缩减,以显示当前出现的问题,假设我已正确抓取了适当的对象: [void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.TeamFoundation.Common') #$team is of type TeamFoundationTeam Class $allMembers = $team.GetMembers($tfs, ([Microsoft.TeamFoundation.Framework.Common

我已将代码缩减,以显示当前出现的问题,假设我已正确抓取了适当的对象:

[void][System.Reflection.Assembly]::LoadWithPartialName('Microsoft.TeamFoundation.Common')
#$team is of type TeamFoundationTeam Class
$allMembers =  $team.GetMembers($tfs, ([Microsoft.TeamFoundation.Framework.Common.MembershipQuery]::Direct))
然后我得到以下信息:

无法将值为“Direct”的参数“queryMembership”转换为 “GetMembers”以键入 “Microsoft.TeamFoundation.Framework.Common.MembershipQuery”:“无法” 将值“直接”转换为类型 “Microsoft.TeamFoundation.Framework.Common.MembershipQuery”

因此,我尝试强制转换枚举,将枚举包装在括号中,而不是将枚举包装在括号中,使用add type通过显式版本添加引用,尝试通过load partial使用上述惰性方法添加引用,尝试删除我的本地TFS缓存。我完全不知道如何使其工作。奇怪的是,这是我上一次使用它是在几天前。我缺少的powershell中的枚举有什么奇怪的地方吗?我如何让它工作

我正在使用powershell v3.0


直接使用如何??有效…谢谢。抱歉,powershell有太多愚蠢的问题。编辑:将此作为答案,我会将其标记为正确。能否显示
$team.GetType().Assembly.FullName
[Microsoft.TeamFoundation.Framework.Common.MembershipQuery]的输出.Assembly.FullName
?您的意思是在ps脚本中使用
$allMembers=$team.GetMembers($tfs,Direct)
解决了这个问题吗?是的,奇怪的是,它修复了这个问题(尽管建议使用引号)。我认为正在进行隐式类型转换。如果有两个枚举具有相同的属性名称,但有两个不同的名称空间,您会怎么做?只使用
'Direct'
?如何工作…谢谢。抱歉,powershell有太多愚蠢的gotcha。编辑:将此作为答案,我会将其标记为正确。能否显示
$team.Get的输出Type().Assembly.FullName
[Microsoft.TeamFoundation.Framework.Common.MembershipQuery].Assembly.FullName
?您的意思是您在ps脚本中使用
$allMembers=$team.GetMembers($tfs,Direct)
解决了这个问题吗?是的,奇怪的是,它修复了它(尽管建议使用引号)。我认为正在进行隐式类型转换。如果有两个属性名称相同但名称空间不同的枚举,您会怎么做?