我有一个PowerShell脚本,我用它来验证是否满足一些SQL编程要求。
该脚本在TFS 2015中的Gated Build开始时运行,似乎成功完成。我在脚本的最后添加了一个Write-Host行,后面没有任何内容,步骤的日志记录显示该文本,所以我知道在抛出错误之前该行被命中。
尽管一切看似完成没有错误或问题,我得到一个“ObjectNotFound”异常声称无法加载该模块。
有趣的是它尝试加载的模块是“DOMAIN \ UserName”。正如我所指出的,在写入日志的最后一行之后没有更多的脚本。
有没有人在此之前遇到过这个问题和/或有没有人知道为什么会发生这种情况?
所以我想出了这个问题。
我传入源分支的TFS变量(在这种情况下,是为gated构建创建的shelve-set)但我没有将值包装在引号中。我没有意识到的是,这个实例中的源分支值包含搁置集名称和与之关联的用户名:
例如Gated_2019-03-18_01.40.16.1334;域\用户名
通过不将参数包装在引号中,我导致它在分号分隔符上拆分,并且与Gated Build搁置集关联的“DOMAIN \ UserName”被视为要加载的模块。
一旦我用引号括起论点,问题就消失了。