无法将类型“ System.String”的值转换为类型“ System.Type”

时间:2019-07-15 18:15:09

标签: powershell tfsbuild

我正在尝试使用PowerShell构建tfs工作站,但是我陷入了困境。

在我的代码中是行

  

$ teamProjectCollection = [Microsoft.TeamFoundationClient.TfsTeamProjectCollectionFactory] ​​:: GetTeamProjectCollection($ tfsServer)

     

$ ws = $ teamProjectCollection.GetService([type]“ Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore”)

我最近问过的另一个问题是从this answer那里得到的。答案解决了我当时遇到的问题,但是不幸的是,当尝试将字符串转换为Type时,第二行出现了异常。具体来说,我得到的错误是:

  

无法将类型为“ System.String”的“ Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore”值转换为类型“ System.Type”。

我知道我正在使用的GetService函数需要一个System.Type参数。我还没有找到一种严格通过PowerShell将System.String对象转换为System.Type对象的方法。

那么,我该如何解决此问题或解决该问题?

1 个答案:

答案 0 :(得分:1)

必须添加一个程序集才能访问[Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore]类型。假设您位于包含程序集文件的目录中,则可以在当前的PowerShell会话中运行以下命令。

Add-Type -Path ".\Microsoft.TeamFoundation.WorkItemTracking.Client.dll"