PowerShell脚本加载程序集

3
我有一个PowerShell脚本,可以根据项目构建新的TFS构建定义。 我使用PowerGUI脚本编辑器运行脚本,脚本正常运行。 但是,当我尝试在Windows PowerShell中运行相同的脚本时,出现程序集加载错误。

为什么会发生这种情况? 需要采取哪些措施才能在Windows PowerShell中运行PowerShell脚本?

new-object : 找不到类型[Microsoft.TeamFoundation.Client.TfsTeamProjectCollection]:请确保包含此类型的程序集已加载。
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版本一起工作。我建议您使用这个答案作为示例。


Add-Type -Path "$FilePath\Microsoft.TeamFoundation.Client.dll" 对我很有效。我以不同的方式加载程序集,它在PowerGUI应用程序中运行良好,但在Windows PowerShell控制台中无法正常工作。 - user1636380

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接