【发布时间】:2019-10-19 01:55:18
【问题描述】:
我们有一个使用自定义模板的 TFS 构建过程。在成功创建 crm 解决方案文件的情况下,构建工作正常。然后,我们尝试在构建后运行 powershell 脚本。此脚本导入一个模块。但是模块中的命令没有被公开。每当我们尝试调用命令时,都会出现错误。沿着
“Get-XrmSolution”一词未被识别为 cmdlet 的名称, 函数、脚本文件或可运行的程序。
无论我们在那个模块中使用哪个命令,我们都会得到相同类型的错误。
为了解决问题,我们已经以构建帐户的身份登录到构建服务器,并且可以成功运行我们正在尝试运行的脚本。
将更多输出添加到脚本中以进行故障排除...
Get-Module 列出 Xrm.Framework.CI.PowerShell。 - 好。
Get-Command -Module "Xrm.Framework.CI.PowerShell" 不返回任何内容。在控制台中,列出了许多命令。
在运行 powershell 后构建脚本时我们需要做些什么来使导入的模块的内容能够被看到?
【问题讨论】:
-
模块是从 32 位 PowerShell 进程加载还是特定于 64 位?请记住,VS 是 32 位的,并且可能会启动 32 位版本的 PowerShell。
-
这是否意味着 TFS 构建将运行 32 位 PowerShell 进程?这可能是相关的。我们正在加载的模块将是 64 位的。
-
谢谢基思。这使我们陷入了一定的故障排除轨道。在 Build 过程参数中将 MSBuildPlatform 从 Auto 更改为 X86,一切都很好。
标签: powershell tfs dynamics-crm-2011