无法找到类型 [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]

2024-04-19

我正在尝试编写一个脚本来使用 powershell 连接到 TFS,但是我陷入了实际连接的部分

$credentialProvider = new-object Microsoft.TeamFoundation.Client.UICredentialsProvider
    $collection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($uri, $credentialProvider)

它给出一个错误,表示找不到类型

[错误]新对象:找不到类型[错误] [Microsoft.TeamFoundation.Client.UICredentialsProvider]:验证 包含此类型的 [ERROR] 程序集已加载。

好吧,我首先尝试这样做,但没有帮助

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client")

我的开发环境中只安装了 Visual Studio 2015。我是否缺少一些使用 powershell 与 TFS 接口所需的组件?

此外,我不知道该脚本将从哪里运行(它不会从开发计算机),大概是从可以使用团队资源管理器直接访问 TFS 服务器的计算机运行。


安装 Team Explorer 2013 或更低版本时,Team Foundation Server 客户端对象模型过去会安装到全局程序集缓存。因此,它们总是很容易从任何脚本加载。

在 Team Explorer 和 Visual Studio 2015 及更高版本中,包不再全局注册。同时,Microsoft 更改了许可证,使这些程序集可以与您的应用程序一起分发,并发布了 NuGet 包以使分发更容易。

处理需要 TFS 客户端对象模型的场景的正确方法是将它们与脚本打包或使用 Nuget 按需下载。

您可能需要也可能不需要许多软件包,具体取决于您在脚本中执行的操作:

传统客户端对象模型:

  • https://www.nuget.org/packages/Microsoft.TeamFoundationServer.Client/ https://www.nuget.org/packages/Microsoft.TeamFoundationServer.Client/
  • https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient/ https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient/

新型 REST API 对象模型:

  • https://www.nuget.org/packages/Microsoft.VisualStudio.Services.Client/ https://www.nuget.org/packages/Microsoft.VisualStudio.Services.Client/
  • https://www.nuget.org/packages/Microsoft.VisualStudio.Services.InteractiveClient/ https://www.nuget.org/packages/Microsoft.VisualStudio.Services.InteractiveClient/

您可以使用这个小片段来动态获取 nuget.exe 和依赖项:https://stackoverflow.com/a/26421187/736079 https://stackoverflow.com/a/26421187/736079或使用install-package这是在 powershell v5 中引入的。

Note:如果您正在更新或创建新脚本,建议切换到新型 REST API 和对象模型 https://learn.microsoft.com/en-us/vsts/integrate/get-started/client-libraries/samples随之而来的是。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法找到类型 [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory] 的相关文章

  • PowerShell 中的触摸功能

    我最近在 PowerShell 配置文件中添加了触摸功能 PS gt notepad profile function touch Set Content Path args 0 Value null 保存并运行测试 touch myfil
  • 在Powershell中,如何设置$?不将该值发送到管道?

    PS gt gci C lt
  • powershell 优雅/干净地关闭 Internet Explorer

    我想干净 优雅地关闭互联网浏览器 taskkill 会关闭它 但是当重新打开它时 它会询问您是否要重新打开上一个会话 尝试 CloseMainWindow 方法 通过向其主窗口发送关闭消息来关闭具有用户界面的进程 Get Process i
  • 如何在一行中输出多个变量

    我试图确定 CSV 中的用户是否处于活动状态 此外 我想知道它们是否是服务帐户 用户帐户或基于 OU 的计算机帐户 一切都在膨胀 直到我尝试输出它 输出分为几行 每个变量一行 我希望输出在一行上 中间有逗号 这样我完成后就会有一个 CSV
  • 作为服务运行时未找到 PowerShell 模块

    我有一个项目 我将 Office 365 许可证分配给用户 有一个 Web 项目允许管理员查看可用许可证并为用户选择许可证 在后台 有一项服务每 15 分钟执行一次实际的许可证分配 以及许多其他任务 我们不直接分配许可证的原因是用户可能尚未
  • Azure 函数核心工具安装卡在 Visual Studio Code 中

    我创建了 Azure 函数应用程序来执行 powershell 脚本 想先在我的本地运行它来测试它 当我运行它时 无论有没有调试选项 都会出现一个弹出窗口 其中显示 您必须安装 Azure Functions 核心工具才能调试本地函数 当我
  • 在 TFS 2012 中使用持续集成进行自动部署

    我已经为 WCF 项目设置了持续集成 并希望使用 MSBuild 参数自动将应用程序部署到远程服务器 但它没有部署 运行新的构建时 所有测试都会通过并且所有项目都会构建 但网站尚未部署 另外 我没有从构建中收到任何错误 表明出现了任何问题
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 在 PowerShell 中,将两个表合并为一个表的最佳方法是什么?

    我对 PowerShell 相当陌生 想知道是否有人知道解决以下示例问题的更好方法 我有一组从 IP 地址到主机名的映射 这表示活动 DHCP 租约的列表 PS H gt leases IP Name 192 168 1 1 Apple 1
  • 需要在 Android Studio 中使用 Team Foundation 客户端可能的替代方案/解决方法吗?

    我有一个场景 我需要使用 android studio 作为 IDE 使用 Team Foundation Server 作为源代码控制存储库 问题是android studio中没有TFS的插件 并且没有 TFS Windows 的独立客
  • PowerShell 和 StringBuilder

    我是 PowerShell 新手 但熟悉 NET 类 我在用System Text StringBuilder在 PowerShell 脚本中 脚本是这样的 Function MyStringFunc String line r New O
  • 如何扩展和重写集合类中的 Add

    背景 我在 PowerShell 中有一个具有 4 个属性的数据对象 其中 3 个是字符串 第 4 个是哈希表 我想安排一个新类型 将其定义为该数据对象的集合 在这个集合类中 我希望强制执行一种特定的格式 这将使我在模块中其他地方的代码更加
  • 并行启动服务

    我有一个脚本可以检查不同服务器上的某些服务是否已启动 如果没有启动 该脚本应该启动该服务 问题是 它不会并行启动服务 而是等待每个服务启动 Code server list Get Content path D Path list of s
  • 在 powershell 脚本中以不同用户身份本地运行代码块

    这是非常简单的事情 但我就是无法让任何东西发挥作用 我想在特定用户下的 powershell 脚本中运行块代码 关键字是locally我正在使用 powershell 2 0 Invoke Command 似乎需要远程主机 我运行以下命令
  • 将 TFVC 代码从一个集合移动到另一个集合(包括历史记录)

    我需要将一些代码从一个项目集合中的 TFVC 移动到另一个集合中的项目 我还需要保留签入历史记录 我不担心更改集 ID 但确实希望保留历史记录中的评论 人物和时间以及所做的更改 被移动到的项目将是空的 这将在本地使用 TFS2017 Upd
  • 如何使用 PowerShell 查找 CPU 和 RAM 使用情况?

    我试图让 PowerShell 提供 RAM 和 CPU 使用情况 但我无法弄清楚要使用哪个 WMI 类 我的计算机有两个处理器 因此拥有这两个处理器的信息会很有用 您还可以使用 Get Counter cmdlet PowerShell
  • 如何使用 .NET 4 运行时运行 PowerShell?

    我正在更新管理一些 NET 程序集的 PowerShell 脚本 该脚本是为针对 NET 2 与 PowerShell 运行的框架版本相同 构建的程序集编写的 但现在需要使用 NET 4 程序集以及 NET 2 程序集 由于 NET 4 支
  • [Regex]::Replace() 和 -replace 有什么区别?

    我明白了之间的区别 Replace and replace 但是什么是 replace and Regex Replace 我测试了以下两个代码 但对我来说结果完全相同 我还提到了 PowerShell Cookbook O reilly
  • 导入模块 WebAdministration 不会从脚本加载,但会从命令行加载

    我正在进行一个使用的项目PowerShell编写构建脚本 该构建利用了WebAdministration模块来管理本地 IIS 实例 当我运行构建脚本时 尝试导入时会引发以下错误WebAdministration 错误 06 29 2016
  • Import-Csv - 成员已存在问题

    我必须将多个 CSV 文件合并为一个文件 每个 CSV 都有一个标题 其中一列标题是相同的 理想情况下 最终文件 all out csv 必须有一个标头 我运行 PowerShell 代码 Import Csv out 1 result c

随机推荐