【发布时间】:2016-09-29 23:58:00
【问题描述】:
我正在尝试创建一个 powershell 模块,以使用 Powershell 3 和 Nuget Packages 'Microsoft.TeamFoundationServer.ExtendedClient' 中的程序集与新的 Rest Api 交互 15.104.0-preview 641 2016 年 8 月 22 日星期一
还从该模块安装了更多模块。
我做了一个基本测试,在使用 Add-Type 加载程序集后,我加载了以下程序集。
Microsoft.VisualStudio.Services.Common - 15.104.25618.0
Microsoft.VisualStudio.Services.WebApi - 15.104.25618.0
Microsoft.VisualStudio.Services.Client - 15.104.25618.0
Microsoft.TeamFoundation.Common - 15.104.25618.0
Microsoft.TeamFoundation.Client - 15.104.25618.0
Microsoft.TeamFoundation.VersionControl.Client - 15.104.25618.0
Microsoft.TeamFoundation.WorkItemTracking.Client - 15.104.25618.0
Microsoft.TeamFoundation.Build.Client - 15.104.25618.0
Microsoft.TeamFoundation.Build.Common - 15.104.25618.0
Microsoft.TeamFoundation.Build2.WebApi - 15.104.25618.0
Microsoft.TeamFoundation.DistributedTask.WebApi - 15.104.25618.0
Newtonsoft.Json - 8.0.3.19514
System.Web.Http - 5.2.20826.0
为了加载 System.Web.Http 我必须加载 Newtonsoft.Json.dll 版本 6.0.8
Add-Type -Path 'D:\Temp\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll'
加载所有 dll 后,我尝试创建 BuildHttpClien,但出现错误。
$cre = New-Object -TypeName 'Microsoft.VisualStudio.Services.Common.VssCredentials' -ArgumentList (Get-Credential)
$build = New-Object -TypeName 'Microsoft.TeamFoundation.Build.WebApi.BuildHttpClient' -ArgumentList ([uri]'{TfsCollectionUrl}'),$cre
当我运行这段代码时,我得到了以下错误
Method not found: 'Newtonsoft.Json.JsonSerializerSettings System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.get_SerializerSettings()'. (raised by: New-Object)
我在 Powershell ISE 中尝试了上面的代码在 Powershell 3.0 兼容性中。
【问题讨论】:
标签: powershell tfs