3

我有一个 powershell 脚本,它基于项目构建新的 TFS 构建定义。我使用 PowerGUI 脚本编辑器运行脚本,脚本运行良好。但是,当我尝试在 Wondows PowerShell 中运行相同的脚本时,我得到程序集加载错误。

新对象:找不到类型 [Microsoft.TeamFoundation.Client.TfsTeamProjectCollection]:确保已加载包含此类型的程序集。

为什么会发生这种行为以及需要做什么才能使用 WindowsPowerShell 运行 powershell 脚本?

4

1 回答 1

3

这应该与这个dll相关联:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ReferenceAssemblies\v2.0\Microsoft.TeamFoundation.Client.dll

它应该位于与 VS 2010 类似的位置。一种解决方案是使用Add-Type将其加载到当前会话:

Add-Type -Path "$FilePath\Microsoft.TeamFoundation.Client.dll"

此解决方案可能更可取,因为您的脚本将始终检查该 dll,并且它不应该跨环境中断。您对问题的描述听起来好像脚本非常依赖您的环境,并且依赖 PowerGUI 才能正确执行。

根据您运行的 powershell 控制台的版本,这个问题提供了更多关于从不同版本的 .NET 运行程序集的建议。您的 Powershell 控制台版本可能是针对与 dll 不同的 .NET 版本编译的,如果是这种情况,您将不得不回答该问题并按照程序创建配置文件以使您的控制台工作与其他版本的 .NET。我建议使用这个答案作为你的例子。

于 2013-08-21T21:26:45.747 回答