我有一个powershell脚本,它根据项目构建新的TFS构建定义。我使用PowerGUI脚本编辑器来运行脚本,脚本运行完美。但是,当我尝试在Wondows PowerShell中运行相同的脚本时,我得到了程序集加载错误。
new-object:找不到类型[Microsoft.TeamFoundation.Client.TfsTeamProjectCollection]:确保程序集 包含此类型的内容已加载。
为了使用WindowsPowerShell运行powershell脚本,为什么会出现这种情况?需要做些什么?
答案 0 :(得分:3)
这应与此dll相关联:
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ReferenceAssemblies \ 2.0 \ Microsoft.TeamFoundation.Client.dll
它应该位于VS 2010的类似位置。一种解决方案是使用Add-Type将其加载到当前会话:
Add-Type -Path "$FilePath\Microsoft.TeamFoundation.Client.dll"
此解决方案可能更受欢迎,因为您的脚本将始终检查该dll,并且不应跨越环境。您对问题的描述使得听起来好像脚本非常依赖于您的环境,并依赖PowerGUI来正确执行。
根据您运行的powershell控制台的版本,this question提供了有关从不同版本的.NET运行程序集的更多建议。您的Powershell控制台版本可能是针对不同版本的.NET而编译的,如果是这种情况,您将不得不转到该问题并按照过程创建配置文件以使控制台正常工作与其他版本的.NET。我建议您使用this answer作为示例。